Compare commits
11 Commits
extended-l
...
cancelatio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ce5d53807 | ||
|
|
809358f3fa | ||
|
|
152cb78d4d | ||
|
|
67b2f9bdac | ||
|
|
f9f34aef79 | ||
|
|
12382e191a | ||
|
|
8dc75116e1 | ||
|
|
153bfe9617 | ||
|
|
e3a70e1790 | ||
|
|
87fb4e55ba | ||
|
|
53c0a2e9e1 |
@@ -1,438 +0,0 @@
|
||||
2007-08-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktable.c: Make sure natural_delta is initialized.
|
||||
|
||||
2007-08-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Test size-for-allocation for GtkTable.
|
||||
* gtk/gtk.symbols, gtk/gtktable.c, gtk/gtktable.h: Add orientation
|
||||
property needed for choosing a size-for-allocation strategy.
|
||||
|
||||
2007-08-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c: Consider width-for-height information.
|
||||
* gtk/gtkvbox.c, gtk/gtkprivate.h: Move GtkChildSizeRequest
|
||||
to gtkprivate.h.
|
||||
|
||||
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkvbox.c: Properly calculate minimum_height in size-allocate.
|
||||
So I yell it into the night: Height-for-width is shiny and bright!
|
||||
|
||||
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c: Announce size-for-allocation features only when
|
||||
ellipsis or wrapping with full size allocation are active.
|
||||
* tests/testextendedlayout.c: Display size-for-allocation information
|
||||
in statusbar.
|
||||
|
||||
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Improve contrast for currently
|
||||
selected widget, show pointer address of widget in status bar.
|
||||
Provider names in size-for-allocation test.
|
||||
|
||||
2007-08-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Start real testing of height-for-width
|
||||
and width-for-height.
|
||||
* gtk/gtklabel.c, gtk/gtklabel.h, gtk/gtk.symbols: Add "full-size"
|
||||
property to be able to provide a meaningfull implementation of
|
||||
height-for-width and width-for-height.
|
||||
* gtk/gtkvbox.c: Consider height-for-width information.
|
||||
|
||||
2007-08-13 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Provide context menu to directly select
|
||||
testable widgets. Defer self invokation for socket testing until
|
||||
sockets are realized: Plugs cannot receive the "embedded" signal
|
||||
before their socket is realized.
|
||||
|
||||
2007-08-13 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testellipsise.c: Pimped the test for better demonstration.
|
||||
* gtk/gtklabel.c: Correctly calulate layout width for rotated
|
||||
text when ellipses are used.
|
||||
|
||||
2007-08-12 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkbin.c: Filter feature set returned by the child to match
|
||||
the subset supported by bins. Ensure natural size matches at least
|
||||
the requested size.
|
||||
* gtk/gtkextendedlayout.c: Ensure natural size matches at least
|
||||
the requested size by considering explicit size requests.
|
||||
* gtk/gtkhbox.c, gtk/gtkvbox.c, gtk/gtktable.c, gtk/gtktable.h:
|
||||
Delegate natural size calculation to the (modified) size_request
|
||||
method for more accurate resutls. This trick was developed already
|
||||
for GtkLabel, but not recognized before working on GtkScrolledWindow.
|
||||
* gtk/gtktreeview.c: Skip invisible columns for natural size.
|
||||
* tests/autotestextendedlayout.c: Test natural size properties
|
||||
for all classes implementing GtkExtendLayout.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c: Practice consistent pixel rounding to avoid GtkLabel
|
||||
showing ellipses when PANGO_PIXELS and PANGO_PIXELS_FLOOR differ by
|
||||
less then 0.5 pixels.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktreeviewcolumn.c:
|
||||
Rename gtk_tree_view_column_cell_get_size_impl
|
||||
to gtk_tree_view_column_cell_get_real_size to
|
||||
fit naming conventions.
|
||||
* gtk/gtkscrolledwindow.c:
|
||||
Provide and consider natural size information.
|
||||
* tests/testextendedlayout.c:
|
||||
Show natural size of the hovered widget in statusbar.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktreeprivate.h, gtk/gtktreeviewcolumn.h:
|
||||
Introduce GtkTreeViewColumnPrivate.
|
||||
* gtk/gtktreeview.c, gtk/gtktreeviewcolumn.c:
|
||||
Provide and consider natural size information.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Use tree-view instead of notebook
|
||||
tabs for test case navigation. Support running a sub-set of tests.
|
||||
Display plug-id of sockets as tooltip.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Improve layout of natural size for
|
||||
various widgets test and add a test for GtkTreeViews within
|
||||
GtkScrolledWindows to it.
|
||||
|
||||
2007-08-06 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtksocket.c: Repair sizing algorithm - gtk_socket_size_request
|
||||
and gtk_socket_extended_layout_get_natural_size were calling each
|
||||
other's windowing backend function. Was I drunk when commiting the
|
||||
previous revision?
|
||||
|
||||
2007-08-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkcellrenderertext.c: Provide natural size information.
|
||||
* gtk/gtkcellview.c: Consider and provide natural size information.
|
||||
* tests/testextendedlayout.c: Change background of testing cell view.
|
||||
|
||||
2007-08-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c: Seems there is no point in distinguishing between
|
||||
GTK_PACK_START and GTK_PACK_END during size allocation. The loops only
|
||||
differ in the packing check.
|
||||
|
||||
2007-08-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c: Fix up the mess I commited before.
|
||||
Rule of the thumb: Never write code when tired or in hurry.
|
||||
|
||||
2007-07-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c: Avoid rounding errors in size
|
||||
allocation by adopting the algorithm used by GtkHBox.
|
||||
|
||||
2007-07-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Preparing natural
|
||||
size tests for GtkCellView and GtkTreeView.
|
||||
|
||||
2007-07-27 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Add paned widgets to
|
||||
the natural size test for GtkAlignment and GtkSocket.
|
||||
* gtk/gtksocket-x11.c: Fix some cast.
|
||||
|
||||
2007-07-27 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkalignment.c, gtk/gtksocket.c, gtk/gtksocket-x11.c,
|
||||
gtk/gtksocketprivate.h: Consider natural size of the child.
|
||||
* gtk/gtkplug.c, gtk/gtkplug-x11.c, gtk/gtkplugprivate.h:
|
||||
Expose natural size via _GTK_NATURAL_SIZE window property.
|
||||
* tests/testextendedlayout.c: Test natural size handling
|
||||
of GtkAlignment, GtkPlug and GtkSocket.
|
||||
|
||||
2007-07-26 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktable.c: Seems natural size for spanning cells worked already.
|
||||
* tests/testextendedlayout.c: Test spanning cells. Do not expand
|
||||
succeeded root nodes.
|
||||
|
||||
2007-07-24 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c, gtk/gtktable.c, gtk/gtkvbox.c: Also apply natural
|
||||
size, when there are no expandable children. Fix natural size
|
||||
calculation for GtkVBox.
|
||||
* tests/testextendedlayout.c: More extensive natural size testing.
|
||||
Make sure that really all guide groups are tested. Add detail
|
||||
to test case label in results page.
|
||||
|
||||
2007-07-24 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktable.c, gtk/gtktable.h: Consider natural size to allocate
|
||||
widgets spanning a single, rename GtkTableRowCol::natural_size.
|
||||
Remove some lost g_print statements.
|
||||
* tests/testextendedlayout.c: Test natural size allocation in
|
||||
GtkTable for simple cases.
|
||||
|
||||
2007-07-23 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtktable.c, gtk/gtktable.h: Provide natural size information.
|
||||
* tests/autotestextendedlayout.c: Implemented some initial natural
|
||||
size tests for GtkTable.
|
||||
|
||||
2007-07-18 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkextendedlayout.h, gtk/gtkhbox.c, gtk/gtkvbox.c:
|
||||
Make the type check part of the extended layout feature check macros.
|
||||
|
||||
2007-07-16 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testellipsise.c: Extend the test to support rotations.
|
||||
* gtk/gtklabel.c: Support ellipsizing and wrapping on labels
|
||||
rotated by multiples of 90°.
|
||||
|
||||
2007-07-16 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkvbox.c, tests/testextendedlayout.c:
|
||||
Implement and test natural size support for GtkVBox.
|
||||
* gtk/gtkhbox.c: Cleanup issues found when implementing
|
||||
natural size for GtkVBox.
|
||||
|
||||
2007-07-15 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Improve test result grouping.
|
||||
|
||||
2007-07-04 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkbin.c: Propagate baseline offset to the child widget.
|
||||
* gtk/gtkhbox.c: Properly apply baseline alignment by using the
|
||||
baseline found during requisition calculation for size allocation.
|
||||
* tests/testextendedlayout.c: Add yscale variantes of GtkAlignment
|
||||
to the baseline tests. Improve widget names. Split status message
|
||||
into two lines.
|
||||
|
||||
2007-07-03 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Allow choosing initially active
|
||||
notebook page from command line and create more sane widget names
|
||||
for the sake of g_print-debugging.
|
||||
|
||||
2007-07-02 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkbin.c: Properly evaluate natural size.
|
||||
* gtk/gtkhbox.c: Consider natural size for child placement.
|
||||
* gtk/gtklabel.c: Drop any PangoLayout width assigned during the
|
||||
size allocation process to get proper natural size readings.
|
||||
* tests/testextendedlayout.c: Add some GtkHPaned to the natural
|
||||
size test for dynamic evaluation of the algorithm. Create guides for
|
||||
the button of the height-for-width test for debugging, as it is
|
||||
affected by natural sizing of GtkHBox.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtk.symbols, gtk/gtkextendedlayout.c, gtk/gtkextendedlayout.h:
|
||||
Add gtk_extended_layout_set_baseline_offset to allow widget to adjust
|
||||
their baselines to the findings of their parent container.
|
||||
* gtk/gtkhbox.c: Use gtk_extended_layout_set_baseline_offset to obey
|
||||
the uniform height constraint of the horizontal box. Do not cache
|
||||
baselines found during requisition evaluation, as baselines can
|
||||
change, when assigning a widget more space than requested.
|
||||
* gtk/gtklabel.c: Implement gtk_extended_layout_set_baseline_offset.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Invalidate previously selected
|
||||
widget when choosing another one, to avoid drawing artifacts.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Improve drawing of baseline guides.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c: Properly report feature set and consider
|
||||
baseline_policy when evaluating the baseline of the box.
|
||||
* gtk/gtklabel.c: Adjust the coding style of get_features
|
||||
to match the style of GtkHBox.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c: Make baseline alignment work, by ignoring the uniform
|
||||
height constraint a GtkHBox implies. TODO: Obey that constraint.
|
||||
|
||||
2007-07-01 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c: Rudimentary implementation of GtkExtendLayout.
|
||||
|
||||
2007-06-30 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Provide button variant of the
|
||||
GtkHBox baseline alignment test, as those buttons show some
|
||||
shortcomings of my current baseline concept.
|
||||
|
||||
2007-06-30 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c:
|
||||
Provide status text, when no widget is selected.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkframe.c: Drop g_debug messages.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Move buttons to top and
|
||||
provide textual information about currently hovered widget.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Move code to setup UI
|
||||
from main to test_suite_new.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Split Baseline Alignment tests into
|
||||
separate tests and move the notebook tabs to the right.
|
||||
* gtk/gtkhbox.c: Properly decode "debug-wanted" object
|
||||
tag with GPOINTER_TO_INT.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkextendedlayout.h, gtk/gtkextendedlayout.c,
|
||||
gtk/gtk.symbols: Add gtk_extended_layout_get_padding.
|
||||
* gtk/gtkalignment.c, gtk/gtkbin.c, gtk/gtkbutton.c,
|
||||
gtk/gtkframe.c: Implement gtk_extended_layout_get_padding.
|
||||
* tests/autotestextendedlayout.c: Verify padding information
|
||||
provided via gtk_extended_layout_get_padding.
|
||||
|
||||
2007-06-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c: Merge separate, but nearly identical child allocation
|
||||
code for start and end packing into one single loop. This should avoid
|
||||
programming errors caused by extensive code duplication, as they happend
|
||||
to me with the previous commit. Maybe some advanced compiler is able
|
||||
to do the trivial loop unrolling.
|
||||
* tests/testextendedlayout.c: Use exteriour guides instead of
|
||||
separators to identify GtkHBox allocation and extend the baseline
|
||||
alignment tests for GtkHBox.
|
||||
|
||||
2007-06-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkhbox.c, gtk/gtkhbox.h, gtk/gtk.symbols:
|
||||
Initial, buggish implementation of baseline alignment in GtkHBox.
|
||||
* tests/testextendedlayout.c: Add baseline alignment tests.
|
||||
|
||||
2007-06-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkenums.h: Introduce GtkBaselinePolicy.
|
||||
* gtk/gtk.symbols: Add missing symbols.
|
||||
* gtk/gtkextendedlayout.c, gtk/gtkextendedlayout.h:
|
||||
Introduce gtk_extended_layout_get_single_baseline.
|
||||
|
||||
2007-06-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkbin.c: Prevent undefined behaviour when
|
||||
gtk_widget_translate_coordinates fails.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Provide checkboxes
|
||||
to choose guide types at runtime.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Don't create
|
||||
the tile pixmap with every expose event.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkextendedlayout.h, tests/testextendedlayout.c:
|
||||
Dynamically highlight the currently hovered widget and its guides.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtkbin.c, tests/autotestextendedlayout.c,
|
||||
tests/testextendedlayout.c: Implement GtkExtendedLayout for GtkBin.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c, tests/autotestextendedlayout.c:
|
||||
Implement get_natural_size for GtkLabel.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c, tests/autotestextendedlayout.c:
|
||||
Implement get_height_for_width for GtkLabel.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/autotestextendedlayout.c: Correct some assumptions,
|
||||
write baseline values to console.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c: Remove some late hacking crack.
|
||||
|
||||
2007-06-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/gtklabel.c, tests/autotestextendedlayout.c,
|
||||
tests/testextendedlayout.c, tests/Makefile.am:
|
||||
Implementing get_baselines for GtkLabel and testing it.
|
||||
|
||||
2007-06-19 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gtk/Makefile.am, gtk/gtk.h, gtk/gtkextendedlayout.c,
|
||||
gtk/gtkextendedlayout.h: Implement GtkExtendLayout interface.
|
||||
|
||||
2007-06-18 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* gdk/*, gtk/*: Resynching with trunk to avoid future
|
||||
merge conflicts with the giant GtkBuilder patch.
|
||||
|
||||
2007-05-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Implement formal testing.
|
||||
|
||||
2007-05-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Create initial height-for-width test.
|
||||
|
||||
2007-05-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Also retreive base line information
|
||||
for GtkTextView widgets.
|
||||
|
||||
2007-05-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Ported guides drawing to legacy
|
||||
GdkGC API, which looks worse but supports IncludeInferiors.
|
||||
|
||||
2007-05-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Provide some hint which label
|
||||
a guide belongs to.
|
||||
|
||||
2007-05-28 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* testextendedlayout.c: Some refactoring to get rid
|
||||
of the global list of allocation guides.
|
||||
|
||||
2007-05-27 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c, tests/Makefile.am:
|
||||
Build-fixes for testextendedlayout.
|
||||
|
||||
2007-04-21 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Initial implementation of
|
||||
base line test.
|
||||
|
||||
2007-04-20 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c, tests/Makefile.am,
|
||||
ChangeLog.gtk-extended-layout: Creating testing framework,
|
||||
starting with natural size testing.
|
||||
|
||||
@@ -7981,7 +7981,7 @@ Thu Jun 4 02:20:42 1998 Tim Janik <timj@gtk.org>
|
||||
* gtk/gtkwidget.h:
|
||||
* gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
|
||||
the emission of the "add-accelerator" signal on a widget. this is
|
||||
useful to prevent accelerator installation on certain widgets.
|
||||
usefull to prevent accelerator installation on certain widgets.
|
||||
|
||||
* gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
|
||||
labels left justified, by setting their alignment. stop accelerator
|
||||
|
||||
@@ -17108,7 +17108,7 @@ Tue Jan 16 13:13:13 GMT 2001 Tony Gale <gale@gtk.org>
|
||||
Use fb_mem, fb_stride, fb_width, fb_height.
|
||||
Added recompute_rowstride to reset the rowstride of all windows.
|
||||
Added gdk_fb_recompute_all() which recomputes rootwindow size,
|
||||
window abs positions and window rowstrides. Useful when the
|
||||
window abs positions and window rowstrides. Usefull when the
|
||||
rotation has changed.
|
||||
|
||||
Thu Jan 11 13:16:50 GMT 2001 Tony Gale <gale@gtk.org>
|
||||
|
||||
2
HACKING
2
HACKING
@@ -47,7 +47,7 @@ gtk+ and glib. You can do the following to get glib and gtk+ from cvs:
|
||||
$ cvs -z3 checkout atk
|
||||
$ cvs -z3 checkout gtk+
|
||||
|
||||
For information about submitting patches and committing changes
|
||||
For information about submitting patches and commiting changes
|
||||
to CVS, see the README and README.cvs-commits files. In particular,
|
||||
don't, under any circumstances, commit anything to CVS before
|
||||
reading and understanding README.cvs-commmits.
|
||||
|
||||
8
INSTALL
8
INSTALL
@@ -4,7 +4,7 @@ Prerequisites
|
||||
GTK+ requires the following packages:
|
||||
|
||||
- The GLib, Pango, ATK and cairo libraries, available at the same
|
||||
location as GTK+. GTK+ 2.11.3 requires at least GLib 2.12,
|
||||
location as GTK+. GTK+ 2.10.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
|
||||
@@ -15,13 +15,11 @@ GTK+ requires the following packages:
|
||||
http://www.libpng.org/
|
||||
http://www.ijg.org/
|
||||
|
||||
libtiff must be version 3.6.0 or higher.
|
||||
|
||||
Simple install procedure
|
||||
========================
|
||||
|
||||
% gzip -cd gtk+-2.11.3.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-2.11.3 # change to the toplevel directory
|
||||
% gzip -cd gtk+-2.10.2.tar.gz | tar xvf - # unpack the sources
|
||||
% cd gtk+-2.10.2 # change to the toplevel directory
|
||||
% ./configure # run the `configure' script
|
||||
% make # build GTK+
|
||||
[ Become root if necessary ]
|
||||
|
||||
@@ -15,8 +15,6 @@ GTK+ requires the following packages:
|
||||
http://www.libpng.org/
|
||||
http://www.ijg.org/
|
||||
|
||||
libtiff must be version 3.6.0 or higher.
|
||||
|
||||
Simple install procedure
|
||||
========================
|
||||
|
||||
|
||||
@@ -134,11 +134,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
|
||||
|
||||
if OS_UNIX
|
||||
pkgconfig_DATA += gtk+-unix-print-2.0.pc
|
||||
endif
|
||||
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc gtk+-unix-print-2.0.pc
|
||||
|
||||
DISTCLEANFILES = \
|
||||
gtk+-unix-print-2.0.pc \
|
||||
|
||||
425
NEWS
425
NEWS
@@ -1,329 +1,6 @@
|
||||
Overview of Changes from GTK+ 2.11.2 to 2.11.3
|
||||
==============================================
|
||||
|
||||
* GtkBuilder: GTK+ supports constructing user interfaces
|
||||
from XML descriptions now, similar to libglade.
|
||||
|
||||
* The new tooltip code now has convenience api to set
|
||||
text tooltips: gtk_widget_set_tooltip_text(),
|
||||
gtk_widget_set_tooltip_markup()
|
||||
|
||||
* GtkTextView, GtkEntry:
|
||||
- gtk_widget_modify_cursor() is a new function in the
|
||||
gtk_widget_modify family to override the style-provided
|
||||
cursor colors
|
||||
- Use a block cursor in overwrite mode
|
||||
|
||||
* GtkFileChooser:
|
||||
- Use xdg-user-dirs to find the Desktop directory
|
||||
- gtk_file_system_create() is now public API
|
||||
|
||||
* GtkMenu:
|
||||
- GtkMenuItem gained a submenu property
|
||||
- GtkMenuShell obtained a move-selected signal
|
||||
|
||||
* OS X port:
|
||||
- Many improvements
|
||||
|
||||
* Bugs fixed:
|
||||
445691 Crash when spawning a new process
|
||||
447163 Implicit pointer conversion gdk_font_ref()
|
||||
420249 deadlock on print operation
|
||||
440918 out-of-bound access on loading pnm
|
||||
142494 treeview coordinate systems need documentation/auditing
|
||||
343012 RC parser rejects lower-case identifiers.
|
||||
350460 Popup windows (esp. menus) misbehave wrt focus
|
||||
410815 Icon view gets confused when scaling down the pixbuf column
|
||||
435471 small GtkComboBox cleanup
|
||||
435840 GTK_WIDGET_SAVED_STATE inconsistency
|
||||
442617 gdk_spawn overrides envp, breaking child setup funcs whic...
|
||||
443913 When .recently-used.xbel is empty, recently-used uses %10...
|
||||
444097 Cannot compile gtksearchenginesimple.c
|
||||
444310 update_buttons_state on a bare assistant causes gtk+ to c...
|
||||
444734 Compact file-chooser folder selection not working with gt...
|
||||
444786 Error loading 'gtk-select-color' in Stock icons and Items
|
||||
445054 GtkScrolledWindow::scrollbars-within-bevel is drawing wrong
|
||||
445284 Custom (pixbuf etc.) cursor reverts to default cursor on ...
|
||||
445539 Unititialized var in gtkrc.c trunk
|
||||
445855 gtk_scale_button_new() uses private API.
|
||||
446138 Tiny doc update for gdk_window_get_pointer()
|
||||
446513 gtknotebook.h: create_window is wrong declaration
|
||||
446616 glib requirement insufficient
|
||||
447065 GtkMenuItem: add "submenu" property and some cleanup
|
||||
426192 Symbolic colors are not working under "engine" sections o...
|
||||
446107 tiff load dialogue has unreadable text
|
||||
447396 Typo in documentation of gtk_widget_modify_cursor
|
||||
79585 API to change cursor color
|
||||
80378 Visible (Cursor-shape) indicator for Overtype mode
|
||||
158008 Stock button for Dont Save, Discard Changes, Do Not Save
|
||||
334576 GtkCellRendererProgress ignores xalign attribute
|
||||
344836 Add orientation property to CellRendererProgress
|
||||
172535 Add support for UI builders in gtk+
|
||||
446833 gtk_menu_shell_move_selected should be a vcall
|
||||
447586 gtknotebook.c: decreasing unknown size pointer
|
||||
|
||||
* Updated translations
|
||||
Spanish (es)
|
||||
Swedish (sv)
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.11.1 to 2.11.2
|
||||
==============================================
|
||||
|
||||
* The GtkListStore and GtkTreeStore have new API
|
||||
to set values using vectors of columns and values
|
||||
|
||||
* Bugs fixed:
|
||||
389603 GtkFileChooserWidget crashes when the window is too narrow
|
||||
444351 metacity cores on startup
|
||||
379213 gtkaboutdialog.h causes warnings with GCC and -Wshadow
|
||||
442888 problem with GTK+ medialib integration
|
||||
444236 gtk-demo says invisible text doesn't work
|
||||
444457 Segfault in gdk_window_set_opacity when opacity < 1.0
|
||||
399071 add gtk_tree_store_set_with_valuesv
|
||||
434021 crash on startup with jhbuild
|
||||
|
||||
* Updated translations:
|
||||
Spanish (es)
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.11.0 to 2.11.1
|
||||
==============================================
|
||||
|
||||
* GtkTextView:
|
||||
- Marks can be created independent from buffers
|
||||
- Cursor color follows text color
|
||||
|
||||
* OS X port:
|
||||
- Many improvements
|
||||
|
||||
* GDK:
|
||||
- Add support for composited child windows
|
||||
|
||||
* Bugs fixed:
|
||||
347883 do-overwrite-confirmation does nothing in 2.10
|
||||
440890 Crash in gtktooltip.c (GTK+ 2.11.0)
|
||||
440982 crash in gtk due to missing stock icon gtk-clear
|
||||
418047 GtkIconView sizing is very broken
|
||||
438440 All tests for Gtk2 failing when installing from CPAN
|
||||
314172 gtk_toolbar_set_icon_size() should be 'undeprecated'
|
||||
348493 _gdk_quartz_copy_to_image needs implementing for pixmaps
|
||||
398414 Printing to file with multiple pages per sheet
|
||||
412882 gdkwindow should support the concept of "composited"
|
||||
430218 Some file names are being cut unnecessarily with RTL Inte...
|
||||
435405 text view recreates pangolayouts all the time
|
||||
439565 Crash in GtkIconView a11y code
|
||||
440040 Reference counting in GtkPrintOperation goes awry
|
||||
440511 xcursors.h: illegal initializing
|
||||
440780 GtkAction set_short_label might be broken
|
||||
441443 jpeg loader does not set error upon abortion
|
||||
442172 Small cleanup in gtk_notebook_set_current_page and fix ty...
|
||||
442183 Updated gdk/gdkkeysyms-update.pl
|
||||
443247 Two GtkNotebook cleanups
|
||||
441767 Icon cache isn't validated properly
|
||||
442326 Overview navigator traps mouse on wrong screen in dual mo...
|
||||
79585 GtkTextView API to change cursor color
|
||||
132818 Allow GtkTextMark subclasses to be used in GtkTextBuffer
|
||||
348065 [PATCH] Remove automagic status of xinerama dependency
|
||||
441443 jpeg loader does not set error upon abortion
|
||||
386935 gtk_notebook_set_window_creation_hook only allows one...
|
||||
414947 Move "move-focus" signal to GtkWidget
|
||||
|
||||
|
||||
* Updated translations:
|
||||
Thai (th)
|
||||
Spanish (es)
|
||||
Norwegian bokmål (nb)
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.10.x to 2.11
|
||||
============================================
|
||||
|
||||
* Printing support:
|
||||
- Cups backend: Work with "BrowseShortNames Off"
|
||||
- Cups backend: Fix handling of multi-valued options
|
||||
- Cups backend: Work with raw printers
|
||||
- Cups backend: don't lock up when met with larger numbers of printers
|
||||
- Improved sensitivity handling of controls in the unix dialog
|
||||
- Support half-open ranges
|
||||
- Add a test print backend for easier debugging
|
||||
- Add API to list paper sizes
|
||||
- Add API to serialize and deserialize page setups and print settings
|
||||
- Print settings can be passed to the preview command
|
||||
- Make more GtkPrinter public
|
||||
|
||||
* GtkFileChooser:
|
||||
- Improve file chooser dialog size logic
|
||||
- Add a GtkFileChooserButton::file-set signal
|
||||
- Add a search mode with backends for Beagle, Tracker and simple search
|
||||
- Add recent files support
|
||||
|
||||
* New tooltips API, that allows complex tooltips (markup, images),
|
||||
tooltips on insensitive widgets, tooltips on treeviews, etc
|
||||
|
||||
* GtkScaleButton, GtkVolumeButton: new widgets for volume controls
|
||||
frequently seen in multimedia applications
|
||||
|
||||
* Input Methods:
|
||||
- New Thai and Lao input method
|
||||
- New multipress input method for phone pads
|
||||
|
||||
* Recent files:
|
||||
- GtkRecentChooserMenu supports custom menu items
|
||||
- GtkRecentAction was added
|
||||
|
||||
* Keyboard navigation improvements:
|
||||
- Infrastructure for notification of failed keyboard navigation
|
||||
- Better support for restricted sets of keys
|
||||
- Only handle keys for notebook tab reordering and scrolledwindow
|
||||
scrolling if it make sense
|
||||
- Add settings gtk-enable-accels and gtk-enable-mnemonics to disable
|
||||
the display of accelerators and mnemonics
|
||||
- Popup/popdown of comboboxes is keybindable
|
||||
|
||||
* Windows port:
|
||||
- Windows 9x/ME is not supported anymore
|
||||
- Many ms-windows theme improvements
|
||||
- The file chooser uses native icons
|
||||
- Support drop shadows
|
||||
- Use native cursors
|
||||
|
||||
* OS X port:
|
||||
- Many improvements
|
||||
|
||||
* Icon theme support:
|
||||
- Add api to list contexts of an icon theme
|
||||
- The builtin stock icons have been replaced by a new set of icons
|
||||
which are visually compatible with Tango
|
||||
- Support fallback to more generic icon names
|
||||
- Validate icon caches when they are created and before they are used
|
||||
|
||||
* GtkRange has gained support for fill levels
|
||||
|
||||
* GtkEntry:
|
||||
- inline-selection mode for entry completion that is closer to what
|
||||
web browsers need
|
||||
- Add gtk_entry_set_cursor_hadjustment() to support automatic scrolling
|
||||
|
||||
* GtkTextView:
|
||||
- Support accumulative and negative margins
|
||||
- GTK_JUSTIFY_FILL works
|
||||
|
||||
* GtkLabel:
|
||||
- GTK_JUSTIFY_FILL works
|
||||
|
||||
* GtkStatusIcon:
|
||||
- Multiscreen support
|
||||
- gtk_status_icon_position_menu() works on Windows
|
||||
- Don't take up space when invisible
|
||||
|
||||
* GtkCellRendererProgress:
|
||||
- Respect themes
|
||||
- Support activity mode
|
||||
|
||||
* GtkNotebook:
|
||||
- Support scrolling during tab DND
|
||||
- Allow dropping tabs anywhere
|
||||
- Deprecate numeric group-ids in favour of a more flexible group property
|
||||
|
||||
* GtkTreeView:
|
||||
- Lots of scrolling fixes
|
||||
- Add a gtk-alternative-sort-arrows setting for drawing sort arrows
|
||||
according to platform conventions
|
||||
|
||||
* GtkButtonBox:
|
||||
- Can center buttons now
|
||||
|
||||
* GtkComboBoxEntry
|
||||
- Can add an arbitrary child widget
|
||||
|
||||
* GtkAboutDialog:
|
||||
- The "name" property has been replaced by "program-name" to avoid
|
||||
a clash with the preexisting "name" property on GtkWidget
|
||||
|
||||
* GDK changes:
|
||||
- Add gdk_event_request_motions() which works with input devices
|
||||
- Add API for changing startup notification id on a window
|
||||
- Add API for sending startup notification messages
|
||||
- Don't deadlock with xcb-based libX11
|
||||
- The handling of _NET_WM_USER_TIME has been changed to reduce
|
||||
the amount of root window property changes
|
||||
- New gdk_threads api() to allow fully threadsafe handling of idles
|
||||
and timeouts
|
||||
|
||||
* gdk-pixbuf changes:
|
||||
- Optional support for Sun mediaLib hardware acceleration
|
||||
- Support exif rotations in tiffs and jpegs
|
||||
- Allow arbitrary split between builtin vs modular loaders
|
||||
- Support v5 and OS/2 bmps
|
||||
- Support scaling animations
|
||||
|
||||
* Miscellaneous GTK+ changes:
|
||||
- New function gtk_window_set_opacity(), to set the opacity
|
||||
of toplevel windows
|
||||
- Allow to restrict drags within an application or widget
|
||||
- Support opening/closing of submenus on click
|
||||
- Configurable cursor blinking timeout
|
||||
- Insensitive widgets don't install cursors
|
||||
|
||||
* Bug fixes:
|
||||
- too many to list here
|
||||
|
||||
* New and updated translations:
|
||||
Arabic (ar)
|
||||
Assamese (as)
|
||||
Belarusian Latin (be@latin)
|
||||
Bulgarian (bg)
|
||||
Bengali (bn)
|
||||
Catalan (ca)
|
||||
Czech (cs)
|
||||
Welsh (cy)
|
||||
German (de)
|
||||
Greek (el)
|
||||
Canadian English (en_CA)
|
||||
British English (en_GB)
|
||||
Esperanto (eo)
|
||||
Spanish (es)
|
||||
Estonian (et)
|
||||
Finnish (fi)
|
||||
French (fr)
|
||||
Gujarati (gu)
|
||||
Hebrew (he)
|
||||
Hindi (hi)
|
||||
Hungarian (hu)
|
||||
Indonesian (id)
|
||||
Italian (it)
|
||||
Kurdish (ku)
|
||||
Lithuanian (lt)
|
||||
Latvian (lv)
|
||||
Macedonian (mk)
|
||||
Malayalam (ml)
|
||||
Marathi (mr)
|
||||
Norwegian bokmål (nb)
|
||||
Nepali (ne)
|
||||
Oriya (or)
|
||||
Brazilian Portugese (pt_BR)
|
||||
Romanian (ro)
|
||||
Russian (ru)
|
||||
Slovenian (sl)
|
||||
Serbian (sr)
|
||||
Serbian Latin (sr@Latn)
|
||||
Swedish (sv)
|
||||
Tamil (ta)
|
||||
Thai (th)
|
||||
Turkish (tr)
|
||||
Ukainian (uk)
|
||||
Vietnamese (vi)
|
||||
Walloon (wa)
|
||||
Simplified Chinese (zh_CN)
|
||||
Chinese (Hong Kong) (zh_HK)
|
||||
Chinese (Taiwan) (zh_TW)
|
||||
|
||||
|
||||
Overview of Changes from GTK+ 2.10.1 to 2.10.2
|
||||
==============================================
|
||||
|
||||
|
||||
* Many fixes and improvements for the OS X backends
|
||||
|
||||
* Revert to using gtk modules with global binding,
|
||||
@@ -776,10 +453,10 @@ Overview of Changes from GTK+ 2.9.0 to 2.9.1
|
||||
|
||||
* Arrow sizes in scrolled menus and notebooks are themable
|
||||
|
||||
* GDK keysyms have be synced with Xorg 7.1
|
||||
* GDK keysyms have be synched with Xorg 7.1
|
||||
|
||||
* Bugs fixed:
|
||||
340676 print backend type modules not correctly re-registering
|
||||
340676 print backend type modules not correctly reregistering
|
||||
their types
|
||||
340870 gdk_window_get_toplevels docstring error
|
||||
323956 Unwanted accelerate key in the action-based toolbar
|
||||
@@ -798,7 +475,7 @@ Overview of Changes from GTK+ 2.9.0 to 2.9.1
|
||||
MENU_SCROLL_ARROW_HEIGHT
|
||||
325282 Add GtkNotebook::tab-overlap style property
|
||||
341247 possible crash with tab_label = NULL
|
||||
321896 Sync gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0
|
||||
321896 Synch gdkkeysyms.h/gtkimcontextsimple.c with X.org 6.9/7.0
|
||||
341416 Save FileChooserDialog doesn't response
|
||||
336774 gtk_recent_manager_add_full
|
||||
340401 critical warnings when using window groups
|
||||
@@ -859,9 +536,9 @@ Overview of Changes from GTK+ 2.8.x to 2.9.0
|
||||
|
||||
* GtkFileChooser:
|
||||
- Communication with backends is now asynchronous to avoid
|
||||
blocking on file system operations. Due to the required interface
|
||||
blocking on filesystem operations. Due to the required interface
|
||||
changes, the GTK+ ABI version has been bumped to 2.10.0. Third-party
|
||||
file system backends have to be ported to the new interface, other
|
||||
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.
|
||||
@@ -898,7 +575,7 @@ Overview of Changes from GTK+ 2.8.x to 2.9.0
|
||||
- The spacing of buttons around children can be themed with
|
||||
the GtkButton::inner-border style property. Apps can override
|
||||
this per-widget using the corresponding inner-border property
|
||||
- GtkMenu has acquired a horizontal-padding style property
|
||||
- GtkMenu has aquired a horizontal-padding style property
|
||||
- There are style properties for the color of hyperlinks,
|
||||
GtkWidget::link-color and GtkWidget::visited-link-color
|
||||
- GtkTreeview row hinting now takes the selection into account
|
||||
@@ -930,7 +607,7 @@ Overview of Changes from GTK+ 2.8.1 to GTK+ 2.8.2
|
||||
=================================================
|
||||
* Fix a crash with custom icon themes, which affected
|
||||
the gnome-theme-manager. [Kjartan Maraas]
|
||||
* Make sure font and cursor settings are propagated down
|
||||
* Make sure font and cursor settings are propaged down
|
||||
to the screen initially. [Frederic Crozat]
|
||||
|
||||
Overview of Changes from GTK+ 2.8.0 to GTK+ 2.8.1
|
||||
@@ -967,7 +644,7 @@ Overview of Changes from GTK+ 2.7.5 to GTK+ 2.8.0
|
||||
Overview of Changes from GTK+ 2.7.4 to GTK+ 2.7.5
|
||||
=================================================
|
||||
* Rename the default theme to "Raleigh" [Thomas Wood]
|
||||
* Add a performance testing framework [Federico Mena Quintero]
|
||||
* Add a permformance testing framework [Federico Mena Quintero]
|
||||
* Catch format errors in translations. This may cause
|
||||
"make check" to fail when using older versions
|
||||
of gettext [Matthias]
|
||||
@@ -1191,7 +868,7 @@ Overview of Changes from GTK+ 2.6.x to GTK+ 2.7.0
|
||||
* Win32 changes
|
||||
- Improve keyboard handling [Tor Lillqvist]
|
||||
- Improve clipboard handling [Ivan Wong]
|
||||
- Do delayed rendering for transferring images
|
||||
- Do delayed rendering for transfering images
|
||||
through the clipboard [Ivan Wong]
|
||||
- Improve tablet handling [Robert Ögren]
|
||||
- Initialize input devices lazily [Robert Ögren]
|
||||
@@ -1323,10 +1000,10 @@ Overview of Changes from GTK+ 2.4.x to GTK+ 2.6.0
|
||||
- Obey the Pango backspace-deletes-character attribute
|
||||
|
||||
* Changes in Clipboard/Selection/DND handling
|
||||
- Selection ownership change notification
|
||||
- Selection ownerchip change notification
|
||||
- API to handle text, image and file targets
|
||||
- Support text/plain target
|
||||
- Support clipboard persistence
|
||||
- Support clipboard persistency
|
||||
- Support xdnd v5
|
||||
- Reduce clipboard timeout to 30 seconds
|
||||
|
||||
@@ -1345,7 +1022,7 @@ Overview of Changes from GTK+ 2.4.x to GTK+ 2.6.0
|
||||
- License information for image loaders
|
||||
- Disable loaders
|
||||
- Simple rotation
|
||||
- Make thread-safe
|
||||
- Make threadsafe
|
||||
|
||||
* Performance improvements
|
||||
- Increase chunk size for incremental selection transfers
|
||||
@@ -1389,7 +1066,7 @@ Overview of Changes from GTK+ 2.5.6 to GTK+ 2.6.0
|
||||
width of a label in characters [Christian Persch]
|
||||
* GtkIconView
|
||||
- Arrange items in a grid [Matthias]
|
||||
- Convert hard coded spacing constants into properties [Matthias]
|
||||
- Convert hardcoded spacing constants into properties [Matthias]
|
||||
* GtkCellRendererText
|
||||
- Add ::width-chars property [James M. Cape]
|
||||
* Win32
|
||||
@@ -1407,7 +1084,7 @@ Overview of Changes from GTK+ 2.5.6 to GTK+ 2.6.0
|
||||
Overview of Changes from GTK+ 2.5.5 to GTK+ 2.5.6
|
||||
=================================================
|
||||
* GtkFileChooser
|
||||
- Improve key bindings [Davyd Madeley, Federico Mena Quintero]
|
||||
- Improve keybindings [Davyd Madeley, Federico Mena Quintero]
|
||||
- Speed up loading of large directories [Federico]
|
||||
- Move "Browse for other folders" expander up [Federico]
|
||||
- Support DND from the path bar [Federico]
|
||||
@@ -1464,7 +1141,7 @@ Overview of Changes from GTK+ 2.5.5 to GTK+ 2.5.6
|
||||
Overview of Changes from GTK+ 2.5.4 to GTK+ 2.5.5
|
||||
=================================================
|
||||
* gdk-pixbuf
|
||||
- Make thread safe [Colin Walters]
|
||||
- Make threadsafe [Colin Walters]
|
||||
* GtkFileChooser
|
||||
- Make tooltips work better [Matthias Clasen]
|
||||
- Show files (grayed out) in folder modes [Nickolay V. Shmyrev]
|
||||
@@ -1548,7 +1225,7 @@ Overview of Changes from GTK+ 2.5.3 to GTK+ 2.5.4
|
||||
* Add a GtkMenuToolButton widget which displays a
|
||||
dropdown menu from a toolbar button. [Paolo Borelli]
|
||||
* Make menus scroll faster [Soeren Sandmann]
|
||||
* Allow themes to displace focus rectangles in buttons
|
||||
* Allow themes to displace focus recangles in buttons
|
||||
on click [Soeren, Matthias]
|
||||
* Add a public setting for button ordering [Owen Taylor, Matthias]
|
||||
* GtkImage
|
||||
@@ -1558,7 +1235,7 @@ Overview of Changes from GTK+ 2.5.3 to GTK+ 2.5.4
|
||||
* Add a function to obtain the string representation of
|
||||
accelerators used in GtkAccelLabel [John Spray, Matthias]
|
||||
* Win32 bug fixes [Robert Ögren]
|
||||
- Fix command line option handling [Tor Lillqvist]
|
||||
- Fix commandline option handling [Tor Lillqvist]
|
||||
- Make IME input method work better [Tor]
|
||||
* Other bug fixes [Joel Fredrikson, Darren Creutz,
|
||||
Manish Singh, Matthias, Tristan Van Berkom, Christian Persch,
|
||||
@@ -1595,7 +1272,7 @@ Overview of Changes from GTK+ 2.5.2 to GTK+ 2.5.3
|
||||
- Improve positioning of popups [Matthias]
|
||||
* Make input methods respect editability [Noah Levitt]
|
||||
* Add an setting to specify modules to load [Alex Graveley]
|
||||
* Use GOption for command line argument parsing [Anders Carlsson]
|
||||
* Use GOption for commandline argument parsing [Anders Carlsson]
|
||||
* Default theme
|
||||
- Improve drawing of expanders [Matthias Clasen]
|
||||
* Add a configure option to disable the use of ELF visibility
|
||||
@@ -1630,7 +1307,7 @@ Overview of Changes from GTK+ 2.5.1 to GTK+ 2.5.2
|
||||
for use in preference dialogs. [James M. Cape]
|
||||
* GtkFileChooser
|
||||
- Add getter and setter for the ::show-hidden property [Jeff Franks]
|
||||
- Allow paths to be entered as part of the file name. [Federico Mena Quintero]
|
||||
- Allow paths to be entered as part of the filename. [Federico Mena Quintero]
|
||||
- Make separator in bookmarks pane unselectable [Matthias Clasen]
|
||||
- Improve activation on focus [Federico]
|
||||
- Avoid warnings when opened on non-default screens [Abel Daniel]
|
||||
@@ -1738,7 +1415,7 @@ Overview of Changes from GTK+ 2.4.1 to GTK+ 2.5.0
|
||||
- always show icons [Federico]
|
||||
- bug fixes [Federico, Christian Neumair, Alex Roitman]
|
||||
* GtkComboBox, GtkComboBoxEntry
|
||||
- add missing getters and some more convenience API [Matthias,
|
||||
- add missing getters and some more convience API [Matthias,
|
||||
Christian Neumeir, Oliver Andrieu]
|
||||
- improve placement and sizing of popups [Matthias]
|
||||
- support insensitive items [Matthias]
|
||||
@@ -1753,7 +1430,7 @@ Overview of Changes from GTK+ 2.4.1 to GTK+ 2.5.0
|
||||
- support inline autocompletion [Matthias]
|
||||
* GtkUIManager
|
||||
- fix signal registration [Michael Natterer]
|
||||
- make generated XML parsable [Sven Neumann]
|
||||
- make generated XML parseable [Sven Neumann]
|
||||
- fix get_widget to return menus [Matthias]
|
||||
* GtkTreeView
|
||||
- hover-selection mode [Matthias]
|
||||
@@ -2228,7 +1905,7 @@ Overview of Changes from GTK+-2.2.x to GTK+-2.3.0
|
||||
- Add internals documentation [Havoc Pennington]
|
||||
|
||||
* GtkToolbar [Soeren]
|
||||
- Add a more consistent and extensible toolbar API; preserve
|
||||
- Add a more constistent and extensible toolbar API; preserve
|
||||
old API for backwards compatibility [James, Anders Carlsson, Owen]
|
||||
- Support for sliding buttons like OS X
|
||||
- Keyboard navigation
|
||||
@@ -2341,7 +2018,7 @@ Overview of Changes in GTK+ 2.2.3
|
||||
field of a XKB event as a window ID and found a pixmap that matched.
|
||||
[Owen Taylor, with essential backtrace from Kjartan Maraas]
|
||||
- Fix CapsLock and NumLock for non-XKB [Robert Basch]
|
||||
- Fix problems with, eg. Ctrl-Alt-Backspace hiding Ctrl-Backspace [Owen]
|
||||
- Fix problems with, eg. Ctrl-Alt-Backspace hiding Cntrl-Backspace [Owen]
|
||||
- Workaround Xinerama servers reporting wrong depths [Owen]
|
||||
* GtkTreeView [Kristian Rietveld]
|
||||
- Fix scrolling once more [Pedro Gimeno, Michael Natterer, Timo Sirainen]
|
||||
@@ -2409,7 +2086,7 @@ Overview of Changes in GTK+ 2.2.2
|
||||
- Work around RENDER extension bugs on certain Sun X servers [Morten Welinder]
|
||||
- Zero unused fields in client messages we send Lubos Lunak]
|
||||
- Fix occasional segfault when drawing pixbufs [Hans Petter Jansson]
|
||||
- Fix wrong initialization that was keeping XShm from being used.
|
||||
- Fix wrong initializaiton that was keeping XShm from being used.
|
||||
* Win32 backend [Tor Lillqvist]
|
||||
- Tweak line drawing
|
||||
- Mouse/cursor fixes [Allin Cottrell]
|
||||
@@ -2592,7 +2269,7 @@ Widget improvements:
|
||||
- Privatize gtk_tree_store_move(), add gtk_tree_store_move_before/after()
|
||||
- Add GTK_CELL_RENDERER_FOCUSED flag
|
||||
- Keynav fixes, including adding boolean return values for keybinding
|
||||
signals (API breakage for API that no one should have been using)
|
||||
signals (API breakage for API that noone should have been using)
|
||||
[Narayana Pattipati]
|
||||
- Add gtk_tree_view_column_cell_get_position()
|
||||
- Add an inconsistent state for GtkCellRendererToggle
|
||||
@@ -2938,7 +2615,7 @@ Overview of Changes in GTK+ 2.0.0 rc1
|
||||
* Try to fix key handling without XKEYBOARD extension [Owen]
|
||||
* Documentation fixes and improvements
|
||||
[Matthias Clasen, Alexey Malyshev, Akira Tagoh, Vitaly Tishkov]
|
||||
* Widget drawing improvements [Soeren Sandmann]
|
||||
* Widget drawing improvments [Soeren Sandmann]
|
||||
* Allow cycling between multiple menu bars with <Control>Tab [Owen]
|
||||
* Try to build libraries with only shared library dependencies on Xft to
|
||||
deal with transition to Xft2 [Owen]
|
||||
@@ -3006,7 +2683,7 @@ Overview of Changes in GTK+ 1.3.14
|
||||
* Fix GtkCalendar focus drawing [Bill Haneman]
|
||||
* Allow themeable cursor thickness [Bill]
|
||||
* Start of fixing of tutorial for GTK+-2.0 [Matthias]
|
||||
* Add a ::adjust-bounds signal to GtkRange to allow spreadsheet style
|
||||
* Add a ::adjust-bounds signal to GtkRange to allow spreadsheat style
|
||||
scrollbars. [Jody Goldberg]
|
||||
* Add the ability to turn on multiple selection for GtkFileSel [Manish]
|
||||
* Bug fixes
|
||||
@@ -3104,7 +2781,7 @@ Overview of Changes in GTK+ 1.3.11
|
||||
functions (Owen, Damian Ivereigh)
|
||||
* Fixes to GtkPlug/GtkSocket (Michael Meeks, Owen)
|
||||
* Change button ordering in standard dialogs to correspond to
|
||||
GNOME usability project proposal (Gregory Merchan)
|
||||
GNOME useability project proposal (Gregory Merchan)
|
||||
* Add support for context sensitivity in input methods (Owen)
|
||||
* Hook up gtk_im_context_set_use_preedit() (Hidetoshi Tajima)
|
||||
* Fix gdk_window_scroll() and other aspects of big windows (Owen)
|
||||
@@ -3138,7 +2815,7 @@ Overview of Changes in GTK+ 1.3.10
|
||||
* Support text chunks for the PGN loader, add gdk_pixbuf_get_option()
|
||||
[Sven Neumann]
|
||||
* Rename gdk_pixbuf_new_from_stream back to new_from_inline [Owen]
|
||||
* Automatically call setlocale(), unless explicitly disabled [Owen]
|
||||
* Automatically call setlocale(), unless explictely disabled [Owen]
|
||||
* Property addition to various widgets [Michael Meeks, Owen]
|
||||
* Support building with automake-1.4 [James]
|
||||
* Make GtkRadioButton groups act as a single focus point [Owen]
|
||||
@@ -3269,7 +2946,7 @@ Overview of Changes in GTK+ 1.3.5
|
||||
* XEMBED-based GtkPlug/GtkSocket now basically works.
|
||||
* Drag and drop of column headers in GtkTreeView
|
||||
* GtkColorSelector work: hooks for saving and propagating palette, UI tweaks,
|
||||
and API sanitation
|
||||
and API sanitization
|
||||
* Key binding fixes
|
||||
* Configurable padding/spacing in a lot of places
|
||||
* Invisible text in GtkTextView fixed
|
||||
@@ -3339,7 +3016,7 @@ Widgets:
|
||||
scrolling menus. [Alex]
|
||||
* Simplification of progress bar API. [Havoc]
|
||||
* Make GtkImage a generic image-display widget. [Havoc]
|
||||
* New GtkTreeView tree widget. Model/view architecture, flexible rendering,
|
||||
* New GtkTreeView tree widget. Model/view architecture, flexible renderering,
|
||||
large datasets, etc. [Jonathan]
|
||||
* New GtkMessageBox widget for message display. [Havoc]
|
||||
* Allow labels to have contents set from XML-like markup language. [Havoc]
|
||||
@@ -3349,8 +3026,8 @@ Internationalization:
|
||||
|
||||
* Proper character set conversion for clipboard/selection. [Owen]
|
||||
* New input method system via loadable modules; support on-the-spot
|
||||
preedit in GtkEntry and new text widget; allow switching input methods
|
||||
on the fly; include modules for XIM and demo Cyrillic-transliteration
|
||||
preedit in GtkEntry and new text widget; allow switchin input methods
|
||||
on the fly; include modules for XIM and demo Cyrillic-tranliteration
|
||||
module. [Owen]
|
||||
* VIQR, Thai, and Inuktitut input methods. [Robert]
|
||||
* Convert po files to UTF-8. [Robert]
|
||||
@@ -3419,7 +3096,7 @@ Overview of Changes in GTK+ 1.2.6:
|
||||
* gtk[vh]scale: minor fixups
|
||||
* rename idle to idle_id in testgtk to avoid conflicts with
|
||||
broken libs
|
||||
* More consistent naming of gtkrc files
|
||||
* More consistant naming of gtkrc files
|
||||
* Added language support: ro, uk
|
||||
|
||||
Overview of Changes in GTK+ 1.2.5:
|
||||
@@ -3433,7 +3110,7 @@ Overview of Changes in GTK+ 1.2.5:
|
||||
* check for 5.002 now, to avoid failing autogeneration build rules due
|
||||
to old perl versions.
|
||||
* fonts (and fontsets) are cached now.
|
||||
* more autogeneration make rules and dependency fixups, we should be
|
||||
* more autogeneration make rules and dependancy fixups, we should be
|
||||
save with autogeneration up to make -j12 now ;)
|
||||
* new window position GTK_WIN_POS_CENTER_ALWAYS, which will recenter the
|
||||
GtkWindow on every size change.
|
||||
@@ -3441,7 +3118,7 @@ Overview of Changes in GTK+ 1.2.5:
|
||||
races with the new resizing code.
|
||||
* the new wm hints and resizing code is absolutely perfect and bug free now,
|
||||
it only lacks testing ;)
|
||||
* fixed up various rc style memory problems.
|
||||
* fixed up various rc style memory prolems.
|
||||
* gtk_widget_modify_style() now properly changes the style of realized widgets
|
||||
and references the style passed into it. if people worked around this bug,
|
||||
this will introduce a slight memory leak in their code.
|
||||
@@ -3485,17 +3162,17 @@ Overview of Changes in GTK+ 1.2.2:
|
||||
* Bug fixes for the Gtk selection code.
|
||||
* Minor bug fixes to the Gdk Atom cache and Dnd code (with --display option).
|
||||
* Bug fixes and leak plugs for the Gdk IM code.
|
||||
* Added gtk_object_get() facility to retrieve object arguments easily.
|
||||
* Added gtk_object_get() facility to retrive object arguments easily.
|
||||
The var args list expects ("arg-name", &value) pairs.
|
||||
* Fixed mapping for GdkInputCondition<->GIOCondition, this should fix
|
||||
problems where closed pipes were no longer signaling GDK_INPUT_READ on
|
||||
problems where closed pipes were no longer signalling GDK_INPUT_READ on
|
||||
systems with a native poll().
|
||||
* Some cleanups to GtkLabel's memory allocation code (shouldn't leak memory
|
||||
anymore).
|
||||
* We don't attempt to lookup xpm color "None" anymore, this should prevent
|
||||
eXodus (commercial X windows server) from popping up a color dialog every
|
||||
time a transparent pixmap is created.
|
||||
* Fixed bug where Gtk timeout/idle handlers would execute without the global
|
||||
* Fixed bug where Gtk timout/idle handlers would execute without the global
|
||||
Gdk lock being held.
|
||||
* Other minor bug fixes.
|
||||
|
||||
@@ -3505,7 +3182,7 @@ Overview of Changes in GTK+ 1.2.1:
|
||||
* GtkItemFactory can "adopt" foreign menu items now and manage their
|
||||
accelerator installation. This is often required to get GtkItemFactory
|
||||
like accelerator propagation between different windows with the same
|
||||
menu hierarchy and for centralized parsing and saving of accelerators.
|
||||
menu heirarchy and for centralized parsing and saving of accelerators.
|
||||
* GtkCList/GtkCTree buttons should always display correctly now.
|
||||
* Miscellaneous other bug fixes.
|
||||
|
||||
@@ -3538,7 +3215,7 @@ Overview of Changes in GTK+ 1.1.16:
|
||||
This correct various bugs with gtk_widget_set_usize().
|
||||
* Fixes for XIM on X11R5 systems
|
||||
* Don't allow cut-and-paste of text in password-style entries
|
||||
* --enable-debug is now on by default for the development release.
|
||||
* --enable-debug is now on by default for the development releaes.
|
||||
(When compiling for "production", use --enable-debug=minimum)
|
||||
* Handle systems where Helvetica is not present more gracefully
|
||||
* Fixes for memory leaks
|
||||
@@ -3567,7 +3244,7 @@ What is new in GTK+ 1.1.14:
|
||||
* Fixes to make gtk_radio_button_set_group() keep only
|
||||
one radio button in the group active
|
||||
* Foreign windows are now always treated as viewable; this fixes
|
||||
a problem where updating didn't occur properly in GtkPlug
|
||||
a problem where updating didn't occure properly in GtkPlug
|
||||
* DND fixes for 64 bit architectures, and for specifying operations
|
||||
with modifier keys.
|
||||
* Major revisions to GtkLayout: avoid having to create window
|
||||
@@ -3582,7 +3259,7 @@ What is new in GTK+ 1.1.13:
|
||||
* Tooltips windows are now named "gtk-tooltips" so rc file rules
|
||||
can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
|
||||
widgets.
|
||||
* Spin buttons now update their values upon value retrieval.
|
||||
* Spin buttons now update their values upon value retrival.
|
||||
* Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
|
||||
a lot. Gtk makes full use of the draw_area coalescing code now, which
|
||||
got minorly improved as well.
|
||||
@@ -3646,14 +3323,14 @@ What is new in GTK+ 1.1.7:
|
||||
* Various event handling fixes
|
||||
* Wide character support for entry and text
|
||||
* Destroy widgets _after_ propagating unrealize signals through
|
||||
widget hierarchy
|
||||
widget heirarchy
|
||||
* Only build XIM-support if available
|
||||
* Tutorial and examples updates
|
||||
* Added gtk_drag_source_unset()
|
||||
|
||||
What is new in GTK+ 1.1.6:
|
||||
|
||||
* The signal system now features emission hooks with special semantics,
|
||||
* The signal system now features emission hooks whith special semantics,
|
||||
refer to the ChangeLog for this.
|
||||
* Minor? speedups and memory reductions to the emission handling of the
|
||||
signal system.
|
||||
@@ -3686,13 +3363,13 @@ What is new in GTK+ 1.1.5:
|
||||
* Queued redraws of partial areas
|
||||
* Scrolledwindow (+Viewport) source incompatibilities, children that are added
|
||||
to a scrolled window don't get an automatic viewport anymore. a convenience
|
||||
function gtk_scrolled_window_add_with_viewport() is supplied for this task
|
||||
function gtk_scrolled_window_add_with_viewport() is suplied for this task
|
||||
* Deprecated functions will now issue a message, informing the programmer about
|
||||
the use of this function. These functions will get removed in future versions
|
||||
* Non-functional functions got removed entirely
|
||||
* gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
|
||||
A new function gtk_object_default_construct() is provided now which should
|
||||
be called after every gtk_type_new() to perform the auto-construction
|
||||
be called after every gtk_type_new() to perfom the auto-construction
|
||||
* Improved argument support of several widgets
|
||||
* Bug Fixes
|
||||
|
||||
@@ -3709,7 +3386,7 @@ What is new in GTK+ 1.1.3:
|
||||
* Must enhanced DND support, removed old DND code
|
||||
* Idle functions are now implemented via GHook, giving a slight speed
|
||||
improvement
|
||||
* An environment variable GTK_MODULES which takes a colon separated
|
||||
* An environment variable GTK_MODULES which takes a colon seperated
|
||||
list of module names GTK+ will now automatically load at gtk_init() startup
|
||||
* GtkFontSel now has support for an extra 'base' filter
|
||||
* New function gdk_window_set_root_origin to get the real geometry taking
|
||||
@@ -3723,7 +3400,7 @@ What is new in GTK+ 1.1.3:
|
||||
* New widget GtkInvisible - InputOnly offscreen windows used for reliable
|
||||
pointer grabs and selection handling in DND code
|
||||
* New functions gtk_object_remove_no_notify[_by_id] to remove a certain
|
||||
data portion without invocation of its destroy notifier
|
||||
data portion without invokation of its destroy notifier
|
||||
* gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
|
||||
instead
|
||||
* gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type
|
||||
@@ -3783,7 +3460,7 @@ What is new in GTK+ 1.1.1:
|
||||
What is new in GTK+ 1.1.0:
|
||||
|
||||
* New widget GtkFontSelector.
|
||||
* New featureful progress bar.
|
||||
* New featurefull progress bar.
|
||||
* New container widget GtkPacker.
|
||||
* New object GtkItemFactory, GtkMenuFactory is deprecated.
|
||||
* New key binding system, configurable via rcfiles, similar to styles.
|
||||
@@ -3805,7 +3482,7 @@ What is new in GTK+ 1.1.0:
|
||||
* Child arguments support for container widgets.
|
||||
* Far better support for object arguments, revamp of the underlying
|
||||
mechanism for speed and reusability. Child/object arguments don't
|
||||
need to be preceded by the "GtkType::" portion anymore.
|
||||
need to be preceeded by the "GtkType::" portion anymore.
|
||||
* Removed GtkAcceleratorTable in favour of GtkAccelGroup, accelerator display
|
||||
is now performed by a new widget GtkAccelLabel.
|
||||
* Overhaul of the resizing code. Resizing behaviour can now be specified
|
||||
|
||||
49
README
49
README
@@ -1,7 +1,7 @@
|
||||
General Information
|
||||
===================
|
||||
|
||||
This is GTK+ version 2.11.3. GTK+ is a multi-platform toolkit for
|
||||
This is GTK+ version 2.10.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.
|
||||
@@ -27,53 +27,6 @@ Installation
|
||||
See the file 'INSTALL'
|
||||
|
||||
|
||||
Release notes for 2.12
|
||||
======================
|
||||
|
||||
* Functions: 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 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 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.
|
||||
|
||||
* Removed an unused and hardly visible GtkFrame 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.
|
||||
|
||||
|
||||
Release notes for 2.10
|
||||
======================
|
||||
|
||||
|
||||
60
README.in
60
README.in
@@ -27,66 +27,6 @@ Installation
|
||||
See the file 'INSTALL'
|
||||
|
||||
|
||||
Release notes for 2.12
|
||||
======================
|
||||
|
||||
* Functions: 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 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 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.
|
||||
|
||||
* Removed an unused and hardly visible GtkFrame 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.
|
||||
|
||||
|
||||
Release notes for 2.10
|
||||
======================
|
||||
|
||||
|
||||
128
README.win32
128
README.win32
@@ -1,82 +1,45 @@
|
||||
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
|
||||
The Win32 backend in GTK+ is not as stable or correct as the X11
|
||||
one.
|
||||
|
||||
For prebuilt runtime and developer packages see
|
||||
http://ftp.gnome.org/pub/gnome/binaries/win32/
|
||||
http://www.gimp.org/win32/downloads.html .
|
||||
|
||||
There is also a gtk-1-3-win32-production branch of GTK+ that was
|
||||
branched off from before the addition of the no-flicker and other
|
||||
functionality that was new in GTK+ 2.0.0. The vesion number used for
|
||||
that branch is 1.3.0. It corresponds most closely to GTK 1.2.7 on
|
||||
Unix. For new code, you shouldn't be using that.
|
||||
|
||||
Building GTK+ on Win32
|
||||
======================
|
||||
|
||||
First you obviously need developer packages for the compile-time
|
||||
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
|
||||
zlib, libtiff at least. See
|
||||
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
|
||||
There are two ways to build GTK+ for win32.
|
||||
|
||||
After installing the dependencies, there are two ways to build GTK+
|
||||
for win32.
|
||||
1) Use the autoconf-generated configure script, and the resulting
|
||||
Makefiles (which use libtool and gcc to do the compilation). I use
|
||||
this myself, but it can be hard to setup correctly.
|
||||
|
||||
1) GNU tools, ./configure && make install
|
||||
-----------------------------------------
|
||||
Personally I run configure with:
|
||||
CC='gcc -mpentium -fnative-struct' CPPFLAGS='-I/target/include' CFLAGS=-O2 LDFLAGS='-L/target/lib' ./configure --disable-static --prefix=/target --with-gdktarget=win32 --with-wintab=/src/wtkit126 --with-ie55=/src/workshop/ie55_lib --host=i386-pc-mingw32
|
||||
|
||||
This requires you have mingw and MSYS.
|
||||
Then, in theory, you can just say "make", like on Unix. In reality,
|
||||
there are a few hickups that require manual intervention, and it's
|
||||
best to run make separately in each subdirectory. At least for me,
|
||||
when libtool creates an .exe file, it puts the real .exe in the .libs
|
||||
directory, and leaves a wrapper .exe in the work directory. For some
|
||||
reason that wrapper doesn't work for me, it doesn't do anything. So, I
|
||||
always do a "cp .libs/*.exe ." after running a make that has produced
|
||||
some exes.
|
||||
|
||||
Use the configure script, and the resulting Makefiles (which use
|
||||
libtool and gcc to do the compilation). I use this myself, but it can
|
||||
be hard to setup correctly.
|
||||
Another issue is with the gdk-pixbuf.loaders file. It's probably best
|
||||
to do a "make install" in the gdk-pixbuf directory, and let that set
|
||||
up a mostly correct gdk-pixbuf.loaders in the target directory. Then
|
||||
copy that back to the source directory. It's needed in gtk/stock-icons
|
||||
where make runs gdk-pixbuf-csource.
|
||||
|
||||
The full script I run to build GTK+ 2.10 unpacked from a source
|
||||
distribution is as below. This is from bulding GTK+ 2.10.9, slightly
|
||||
edited to make it match this 2.11 development branch. Actually I don't
|
||||
use any script like this to build the development branch, as I don't
|
||||
distribute any binaries from development branches.
|
||||
Etc, you get the idea. It can be a bit of a pain.
|
||||
|
||||
MOD=gtk+
|
||||
VER=2.10.9
|
||||
THIS=$MOD-$VER
|
||||
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
|
||||
TARGET=c:/devel/target/$HEX
|
||||
DEPS="`/devel/src/tml/latest.sh glib atk cairo pango`"
|
||||
sed -e 's/need_relink=yes/need_relink=no # no way --tml/' <ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
|
||||
usedev
|
||||
usemsvs6
|
||||
MY_PKG_CONFIG_PATH=""
|
||||
for D in $DEPS; do
|
||||
PATH=/devel/dist/$D/bin:$PATH
|
||||
MY_PKG_CONFIG_PATH=/devel/dist/$D/lib/pkgconfig:$MY_PKG_CONFIG_PATH
|
||||
done
|
||||
PKG_CONFIG_PATH=$MY_PKG_CONFIG_PATH:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3 -mthreads' CPPFLAGS='-I/opt/gnu/include -I/opt/gnuwin32/include -I/opt/misc/include' LDFLAGS='-L/opt/gnu/lib -L/opt/gnuwin32/lib -L/opt/misc/lib -Wl,--enable-auto-image-base' LIBS=-lintl CFLAGS=-O2 ./configure --with-gdktarget=win32 --enable-debug=yes --disable-gtk-doc --disable-static --prefix=$TARGET &&
|
||||
libtoolcacheize &&
|
||||
unset MY_PKG_CONFIG_PATH &&
|
||||
PATH=/devel/target/$HEX/bin:.libs:$PATH make install &&
|
||||
(cd $TARGET/bin; strip --strip-unneeded *.dll *.exe) &&
|
||||
(cd $TARGET/lib/gtk-2.0/2.10.0/loaders; strip --strip-unneeded *.dll) &&
|
||||
(cd $TARGET/lib/gtk-2.0/2.10.0/immodules; strip --strip-unneeded *.dll) &&
|
||||
(cd $TARGET/lib/gtk-2.0/2.10.0/engines; strip --strip-unneeded *.dll) &&
|
||||
PATH=$TARGET/bin:$PATH gdk-pixbuf-query-loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
|
||||
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
|
||||
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
|
||||
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
|
||||
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
|
||||
./gtk-zip.sh &&
|
||||
(cd /devel/src/tml && zip /tmp/$MOD-dev-$VER.zip make/$THIS.make) &&
|
||||
manifestify /tmp/$MOD*-$VER.zip
|
||||
|
||||
You should not just copy the above blindly. There are some things in
|
||||
the script that are very specific to *my* build setup on *my* current
|
||||
machine. For instance the "latest.sh" script, the "usedev" and
|
||||
"usemsvs6" shell functions, the /devel/dist folder. The above script
|
||||
is really just meant for reference, to give an idea. You really need
|
||||
to understand what things like PKG_CONFIG_PATH are and set them up
|
||||
properly after installing the dependencies before building GTK+.
|
||||
|
||||
As you see above, after running configure, one can just say "make
|
||||
install", like on Unix. A post-build fix is needed, running
|
||||
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
|
||||
file.
|
||||
|
||||
2) Microsoft's tools
|
||||
--------------------
|
||||
|
||||
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
|
||||
2) Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
|
||||
makefile.msc in gdk and gtk. Be prepared to manually edit various
|
||||
makefile.msc files, and the makefile snippets in build/win32.
|
||||
|
||||
@@ -84,10 +47,10 @@ Alternative 1 also generates Microsoft import libraries (.lib), if you
|
||||
have lib.exe available. It might also work for cross-compilation from
|
||||
Unix.
|
||||
|
||||
I use method 1 myself. Hans Breuer has been taking care of the MSVC
|
||||
makefiles. At times, we disagree a bit about various issues, and for
|
||||
instance the makefile.msc files might not produce identically named
|
||||
DLLs and import libraries as the "autoconfiscated" makefiles and
|
||||
Note that I use method 1 myself. Hans Breuer has been taking care of
|
||||
the MSVC makefiles. At times, we disagree a bit about various issues,
|
||||
and for instance the makefile.msc files will not produce identically
|
||||
named DLLs and import libraries as the "autoconfiscated" makefiles and
|
||||
libtool do. If this bothers you, you will have to fix the makefiles.
|
||||
|
||||
Using GTK+ on Win32
|
||||
@@ -109,9 +72,22 @@ all. Possible ways to fix this are being investigated.
|
||||
Wintab
|
||||
======
|
||||
|
||||
The tablet support uses the Wintab API. The Wintab development kit is
|
||||
no longer required. The wintab.h header file is bundled with GTK+
|
||||
sources. Unfortunately it seems that only Wacom tablets come with
|
||||
support for the Wintab API nowadays.
|
||||
The tablet support uses the Wintab API. The Wintab development kit can
|
||||
be downloaded from http://www.pointing.com. Pass the --with-wintab
|
||||
flag to configure if you use that. If you use nmake and you don't care
|
||||
for Wintab, undefine HAVE_WINTAB in config.h.win32 and remove
|
||||
references to the wntab32x library from the makefile before building.
|
||||
|
||||
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
|
||||
ActiveIMM
|
||||
=========
|
||||
|
||||
If you want to build a GTK+ that supports ActiveIMM (the Input Method
|
||||
Manager for non-EastAsia locales that can be used on Win9x/NT4), you
|
||||
need the dimm.h header file. That is somewhat difficult to find, but
|
||||
http://msdn.microsoft.com/downloads/samples/internet/wizard/ seems to
|
||||
be a good place to look nowadays. If you use "autoconfiscated" build,
|
||||
pass the --with-ie55 flag to configure specifying the location of the
|
||||
ie55_lib directory created by downloading the IE5.5 headers and libs
|
||||
from the above URL.
|
||||
|
||||
--Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#undef GTK_COMPILED_WITH_DEBUGGING
|
||||
|
||||
#undef HAVE_CATGETS
|
||||
#undef HAVE_DIMM_H
|
||||
#undef HAVE_GETTEXT
|
||||
#undef HAVE_IPC_H
|
||||
#undef HAVE_LC_MESSAGES
|
||||
@@ -26,8 +27,6 @@
|
||||
#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
|
||||
@@ -35,6 +34,7 @@
|
||||
#undef HAVE_SYS_TIME_H
|
||||
#undef HAVE_XFREE_XINERAMA
|
||||
#undef HAVE_XINERAMA
|
||||
#undef HAVE_WINTAB
|
||||
#undef HAVE_XCONVERTCASE
|
||||
#undef HAVE_XFT
|
||||
|
||||
@@ -46,8 +46,6 @@
|
||||
|
||||
#undef USE_GMODULE
|
||||
#undef USE_MMX
|
||||
#undef USE_MEDIALIB
|
||||
#undef USE_MEDIALIB25
|
||||
|
||||
/* Define to use XKB extension */
|
||||
#undef HAVE_XKB
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#endif /* _MSC_VER */
|
||||
/* #undef HAVE_XFREE_XINERAMA */
|
||||
/* #undef HAVE_XINERAMA */
|
||||
#define HAVE_WINTAB 1
|
||||
/* #undef HAVE_XCONVERTCASE */
|
||||
/* #undef HAVE_XFT */
|
||||
|
||||
|
||||
286
configure.in
286
configure.in
@@ -11,11 +11,11 @@ AC_PREREQ(2.54)
|
||||
# set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0.
|
||||
|
||||
m4_define([gtk_major_version], [2])
|
||||
m4_define([gtk_minor_version], [11])
|
||||
m4_define([gtk_micro_version], [4])
|
||||
m4_define([gtk_minor_version], [10])
|
||||
m4_define([gtk_micro_version], [3])
|
||||
m4_define([gtk_version],
|
||||
[gtk_major_version.gtk_minor_version.gtk_micro_version])
|
||||
m4_define([gtk_interface_age], [0])
|
||||
m4_define([gtk_interface_age], [3])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
# This is the X.Y used in -lgtk-FOO-X.Y
|
||||
@@ -31,8 +31,8 @@ m4_define([gtk_api_version], [2.0])
|
||||
m4_define([gtk_binary_version], [2.10.0])
|
||||
|
||||
# required versions of other packages
|
||||
m4_define([glib_required_version], [2.13.3])
|
||||
m4_define([pango_required_version], [1.15.3])
|
||||
m4_define([glib_required_version], [2.12.0])
|
||||
m4_define([pango_required_version], [1.12.0])
|
||||
m4_define([atk_required_version], [1.9.0])
|
||||
m4_define([cairo_required_version], [1.2.0])
|
||||
|
||||
@@ -199,10 +199,6 @@ AC_ARG_ENABLE(xkb,
|
||||
[AC_HELP_STRING([--enable-xkb],
|
||||
[support XKB [default=maybe]])],,
|
||||
[enable_xkb="maybe"])
|
||||
AC_ARG_ENABLE(xinerama,
|
||||
[AC_HELP_STRING([--enable-xinerama],
|
||||
[support xinerama extension if available [default=yes]])],,
|
||||
[enable_xinerama="yes"])
|
||||
AC_ARG_ENABLE(rebuilds,
|
||||
[AC_HELP_STRING([--disable-rebuilds],
|
||||
[disable all source autogeneration rules])],,
|
||||
@@ -215,19 +211,26 @@ AC_ARG_ENABLE(visibility,
|
||||
AC_ARG_WITH(xinput,
|
||||
[AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])])
|
||||
|
||||
AC_ARG_WITH(wintab,
|
||||
[AC_HELP_STRING([--with-wintab=DIRECTORY],
|
||||
[use Wintab API with win32 backend])])
|
||||
AC_ARG_WITH(ie55,
|
||||
[AC_HELP_STRING([--with-ie55=DIRECTORY],
|
||||
[IE5.5 libs and headers (for Active IMM)])])
|
||||
|
||||
if test "$platform_win32" = yes; then
|
||||
gdktarget=win32
|
||||
else
|
||||
gdktarget=x11
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz/directfb]] select non-default GDK target],
|
||||
AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32/quartz/directfb]] select non-default GDK target],
|
||||
gdktarget=$with_gdktarget)
|
||||
|
||||
AC_SUBST(gdktarget)
|
||||
case $gdktarget in
|
||||
x11|win32|quartz|directfb) ;;
|
||||
*) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz, directfb or win32.]);;
|
||||
x11|linux-fb|win32|quartz|directfb) ;;
|
||||
*) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, quartz, directfb or win32.]);;
|
||||
esac
|
||||
|
||||
gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la
|
||||
@@ -236,9 +239,19 @@ gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la
|
||||
AC_SUBST(gdktargetlib)
|
||||
AC_SUBST(gtktargetlib)
|
||||
|
||||
AC_ARG_ENABLE(shadowfb,
|
||||
[AC_HELP_STRING([--disable-shadowfb],
|
||||
[disable shadowfb support for linux-fb])],,
|
||||
[enable_shadowfb=yes])
|
||||
|
||||
AC_ARG_ENABLE(fbmanager,
|
||||
[AC_HELP_STRING([--enable-fbmanager],
|
||||
[enable framebuffer manager support (GtkFB)])],,
|
||||
enable_fbmanager=no)
|
||||
|
||||
if test "x$enable_debug" = "xyes"; then
|
||||
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
|
||||
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES"
|
||||
GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
|
||||
else
|
||||
if test "x$enable_debug" = "xno"; then
|
||||
GTK_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
|
||||
@@ -247,7 +260,6 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test "x$enable_visibility" = "xno"; then
|
||||
GTK_DEBUG_FLAGS="$GTK_DEBUG_FLAGS -DDISABLE_VISIBILITY"
|
||||
fi
|
||||
@@ -358,8 +370,7 @@ AC_ARG_ENABLE(explicit-deps,
|
||||
AC_MSG_CHECKING([Whether to write dependencies into .pc files])
|
||||
case $enable_explicit_deps in
|
||||
auto)
|
||||
export SED
|
||||
deplibs_check_method=`(./libtool --config; echo 'eval echo $deplibs_check_method') | sh`
|
||||
deplibs_check_method=`(./libtool --config; echo eval echo \\$deplibs_check_method) | sh`
|
||||
if test "x$deplibs_check_method" '!=' xpass_all || test "x$enable_static" = xyes ; then
|
||||
enable_explicit_deps=yes
|
||||
else
|
||||
@@ -391,7 +402,7 @@ if test "x$enable_rebuilds" = "xyes" && \
|
||||
fi
|
||||
AC_SUBST(REBUILD)
|
||||
|
||||
AC_CHECK_FUNCS(lstat mkstemp flockfile getc_unlocked)
|
||||
AC_CHECK_FUNCS(lstat mkstemp flockfile)
|
||||
|
||||
# _NL_TIME_FIRST_WEEKDAY is an enum and not a define
|
||||
AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
|
||||
@@ -458,7 +469,7 @@ fi
|
||||
# sure that both po/ and po-properties/ have .po files that correspond
|
||||
# to your language. If you only add one to po/, the build will break
|
||||
# in po-properties/.
|
||||
ALL_LINGUAS="af am ang ar az az_IR be be@latin bg bn bn_IN br bs ca cs cy da de dz el en_CA en_GB eo es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
|
||||
ALL_LINGUAS="af am ar az az_IR be bg bn bn_IN br bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu hy ia id is it ja ka ko ku li lt lv mi mk ml mn mr ms nb ne nl nn nso or pa pl pt pt_BR ro ru rw sk sl sq sr sr@Latn sr@ije sv ta te th tk tr tt uk ur uz uz@Latn vi wa xh yi zh_CN zh_HK zh_TW"
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
LIBS="$LIBS $INTLLIBS"
|
||||
AC_OUTPUT_COMMANDS([case "$CONFIG_FILES" in *po-properties/Makefile.in*)
|
||||
@@ -559,18 +570,72 @@ LIBS=$gtk_save_LIBS
|
||||
AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
|
||||
AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H))
|
||||
AC_CHECK_HEADERS(unistd.h, AC_DEFINE(HAVE_UNISTD_H))
|
||||
AC_CHECK_HEADERS(ftw.h, AC_DEFINE(HAVE_FTW_H))
|
||||
|
||||
AC_MSG_CHECKING([for GNU ftw extensions])
|
||||
AC_TRY_COMPILE([#define _XOPEN_SOURCE 500
|
||||
#define _GNU_SOURCE
|
||||
#include <ftw.h>], [int flags = FTW_ACTIONRETVAL;], gtk_ok=yes, gtk_ok=no)
|
||||
if test $gtk_ok = yes; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE(HAVE_GNU_FTW,1,[Have GNU ftw])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
if test "${with_ie55+set}" = set && test $with_ie55 != no; then
|
||||
AC_MSG_CHECKING([for dimm.h])
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -idirafter $with_ie55/Include"
|
||||
AC_TRY_COMPILE([/* The w32api imm.h clashes a bit with the IE5.5 dimm.h */
|
||||
#ifdef __GNUC__
|
||||
#define IMEMENUITEMINFOA hidden_IMEMENUITEMINFOA
|
||||
#define IMEMENUITEMINFOW hidden_IMEMENUITEMINFOW
|
||||
#endif
|
||||
#include <windows.h>
|
||||
#include <objbase.h>
|
||||
#include <imm.h>
|
||||
#ifdef __GNUC__
|
||||
#undef IMEMENUITEMINFOA
|
||||
#undef IMEMENUITEMINFOW
|
||||
#endif
|
||||
#include <dimm.h>
|
||||
],
|
||||
[],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING([for IE55 uuid.lib])
|
||||
if test -f $with_ie55/Lib/uuid.lib ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
have_ie55=yes
|
||||
AC_DEFINE(HAVE_DIMM_H)
|
||||
IE55_UUID_LIB="$with_ie55/Lib/uuid.lib"
|
||||
AC_SUBST(IE55_UUID_LIB)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
CFLAGS="$saved_CFLAGS"
|
||||
have_ie55=no
|
||||
fi
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
CFLAGS="$saved_CFLAGS"
|
||||
have_ie55=no])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_IE55, test x$have_ie55 = xyes)
|
||||
|
||||
if test "${with_wintab+set}" = set && test $with_wintab != no; then
|
||||
AC_MSG_CHECKING([for wintab.h])
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -I$with_wintab/include"
|
||||
AC_TRY_COMPILE([#include <windows.h>
|
||||
#include <wintab.h>],
|
||||
[],
|
||||
[AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING([for wntab32x.lib])
|
||||
if test -f $with_wintab/lib/i386/wntab32x.lib ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
have_wintab=yes
|
||||
AC_DEFINE(HAVE_WINTAB)
|
||||
WINTAB_LIB="$with_wintab/lib/i386/wntab32x.lib"
|
||||
AC_SUBST(WINTAB_LIB)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
CFLAGS="$saved_cflags"
|
||||
have_wintab=no
|
||||
fi
|
||||
],
|
||||
[AC_MSG_RESULT(no)
|
||||
CFLAGS="$saved_cflags"
|
||||
have_wintab=no])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_WINTAB, test x$have_wintab = xyes)
|
||||
|
||||
saved_cflags="$CFLAGS"
|
||||
saved_ldflags="$LDFLAGS"
|
||||
@@ -662,10 +727,6 @@ if test $gtk_uxtheme_h = yes; then
|
||||
fi
|
||||
AC_MSG_RESULT($gtk_uxtheme_h)
|
||||
|
||||
# Checks for gdkspawn
|
||||
AC_CHECK_HEADERS(crt_externs.h)
|
||||
AC_CHECK_FUNCS(_NSGetEnviron)
|
||||
|
||||
|
||||
##################################################
|
||||
# Checks for gdk-pixbuf
|
||||
@@ -741,7 +802,7 @@ AC_ARG_WITH(libtiff,
|
||||
|
||||
dnl Test for libtiff
|
||||
if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
|
||||
AC_CHECK_LIB(tiff, TIFFReadRGBAImageOriented,
|
||||
AC_CHECK_LIB(tiff, TIFFReadScanline,
|
||||
[AC_CHECK_HEADER(tiffio.h,
|
||||
TIFF='tiff'; LIBTIFF='-ltiff',
|
||||
AC_MSG_WARN(*** TIFF loader will not be built (TIFF header files not found) ***))],
|
||||
@@ -853,13 +914,14 @@ AC_MSG_CHECKING(pixbuf loaders to build)
|
||||
dnl due to an autoconf bug, commas in the first arg to
|
||||
dnl AC_HELP_STRING cause problems.
|
||||
dnl AC_HELP_STRING([--with-included-loaders=LOADER1 LOADER2 ...],
|
||||
dnl [build the specified loaders into gdk-pixbuf])
|
||||
dnl [build the specified loaders into gdk-pixbuf (only used if module loading disabled)])
|
||||
AC_ARG_WITH(included_loaders,
|
||||
[ --with-included-loaders=LOADER1,LOADER2,...
|
||||
build the specified loaders into gdk-pixbuf])
|
||||
build the specified loaders into gdk-pixbuf (only
|
||||
used if module loading disabled)])
|
||||
|
||||
if $dynworks; then
|
||||
:
|
||||
:
|
||||
else
|
||||
## if the option was specified, leave it; otherwise disable included loaders
|
||||
if test x$with_included_loaders = xno; then
|
||||
@@ -867,7 +929,7 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,xbm,tga,pcx"
|
||||
all_loaders="png,bmp,wbmp,gif,ico,ani,jpeg,pnm,ras,tiff,xpm,tga,pcx"
|
||||
included_loaders=""
|
||||
# If no loaders specified, include all
|
||||
if test "x$with_included_loaders" = xyes ; then
|
||||
@@ -889,29 +951,13 @@ for loader in $included_loaders; do
|
||||
AC_MSG_ERROR([the specified loader $loader does not exist])
|
||||
fi
|
||||
|
||||
INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libstatic-pixbufloader-$loader.la"
|
||||
INCLUDED_LOADER_OBJ="$INCLUDED_LOADER_OBJ libpixbufloader-static-$loader.la"
|
||||
INCLUDED_LOADER_DEFINE="$INCLUDED_LOADER_DEFINE -DINCLUDE_$loader"
|
||||
eval INCLUDE_$loader=yes
|
||||
done
|
||||
IFS="$gtk_save_ifs"
|
||||
AC_SUBST(INCLUDED_LOADER_OBJ)
|
||||
AC_SUBST(INCLUDED_LOADER_DEFINE)
|
||||
|
||||
AM_CONDITIONAL(INCLUDE_PNG, [test x"$INCLUDE_png" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_BMP, [test x"$INCLUDE_bmp" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_WBMP, [test x"$INCLUDE_wbmp" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_GIF, [test x"$INCLUDE_gif" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_ICO, [test x"$INCLUDE_ico" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_ANI, [test x"$INCLUDE_ani" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_JPEG, [test x"$INCLUDE_jpeg" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_PNM, [test x"$INCLUDE_pnm" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_RAS, [test x"$INCLUDE_ras" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_TIFF, [test x"$INCLUDE_tiff" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_XPM, [test x"$INCLUDE_xpm" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_XBM, [test x"$INCLUDE_xbm" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_TGA, [test x"$INCLUDE_tga" = xyes])
|
||||
AM_CONDITIONAL(INCLUDE_PCX, [test x"$INCLUDE_pcx" = xyes])
|
||||
|
||||
AC_HEADER_SYS_WAIT
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
@@ -935,32 +981,6 @@ else
|
||||
STATIC_LIB_DEPS="$LIBTIFF $LIBJPEG $LIBPNG"
|
||||
fi
|
||||
|
||||
# Checks to see whether we should include mediaLib
|
||||
# support.
|
||||
#
|
||||
AC_CHECK_HEADER(sys/systeminfo.h, AC_DEFINE(HAVE_SYS_SYSTEMINFO_H))
|
||||
AC_CHECK_HEADER(sys/sysinfo.h, AC_DEFINE(HAVE_SYS_SYSINFO_H))
|
||||
|
||||
AC_MSG_CHECKING(for mediaLib 2.3)
|
||||
use_mlib25=no
|
||||
# Check for a mediaLib 2.3 function since that is what the GTK+ mediaLib
|
||||
# patch requires.
|
||||
AC_CHECK_LIB(mlib, mlib_ImageSetStruct, use_mlib=yes, use_mlib=no)
|
||||
if test $use_mlib = yes; then
|
||||
AC_DEFINE(USE_MEDIALIB)
|
||||
MEDIA_LIB=-lmlib
|
||||
|
||||
AC_MSG_CHECKING(for mediaLib 2.5)
|
||||
# Check for a mediaLib 2.5 function since that is what is needed for
|
||||
# gdk_rgb_convert integration.
|
||||
AC_CHECK_LIB(mlib, mlib_VideoColorRGBint_to_BGRAint, use_mlib25=yes, use_mlib25=no)
|
||||
if test $use_mlib25 = yes; then
|
||||
AC_DEFINE(USE_MEDIALIB25)
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(USE_MEDIALIB, test $use_mlib = yes)
|
||||
AM_CONDITIONAL(USE_MEDIALIB25, test $use_mlib25 = yes)
|
||||
|
||||
# Checks to see if we should compile in MMX support (there will be
|
||||
# a runtime test when the code is actually run to see if it should
|
||||
# be used - this just checks if we can compile it.)
|
||||
@@ -1012,8 +1032,7 @@ AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
|
||||
|
||||
if test $cross_compiling = yes; then
|
||||
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
|
||||
AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
|
||||
if test x$GTK_UPDATE_ICON_CACHE = xno; then
|
||||
if test x$GDK_PIXBUF_CSOURCE = xno; then
|
||||
REBUILD_PNGS=#
|
||||
fi
|
||||
fi
|
||||
@@ -1023,13 +1042,13 @@ if test ! -f $srcdir/gtk/gtkbuiltincache.h &&
|
||||
AC_MSG_ERROR([
|
||||
*** gtkbuiltincache.h is not in the tree, and cannot be built
|
||||
*** because you don't have libpng, or (when cross-compiling) you
|
||||
*** don't have a prebuilt gtk-update-icon-cache on the build system.])
|
||||
*** don't have a prebuilt gdk-pixbuf-csource on the host system.])
|
||||
fi
|
||||
|
||||
AC_SUBST(REBUILD_PNGS)
|
||||
|
||||
GDK_PIXBUF_PACKAGES="gmodule-no-export-2.0 gobject-2.0"
|
||||
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB $MEDIA_LIB"
|
||||
GDK_PIXBUF_EXTRA_LIBS="$STATIC_LIB_DEPS $MATH_LIB"
|
||||
GDK_PIXBUF_EXTRA_CFLAGS=
|
||||
GDK_PIXBUF_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
|
||||
GDK_PIXBUF_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $PNG_DEP_CFLAGS_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS"
|
||||
@@ -1224,12 +1243,12 @@ if test "x$gdktarget" = "xx11"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$enable_xinerama" = "xyes"; then
|
||||
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
||||
gtk_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $x_cflags"
|
||||
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
||||
|
||||
gtk_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $x_cflags"
|
||||
|
||||
case "$host" in
|
||||
case "$host" in
|
||||
*-*-solaris*)
|
||||
# Check for solaris
|
||||
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
||||
@@ -1272,9 +1291,8 @@ if test "x$gdktarget" = "xx11"; then
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
esac
|
||||
|
||||
# set up things for XInput
|
||||
|
||||
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
|
||||
@@ -1325,25 +1343,6 @@ if test "x$gdktarget" = "xx11"; then
|
||||
AC_DEFINE(HAVE_XFIXES, 1, Have the XFIXES X extension)
|
||||
|
||||
X_PACKAGES="$X_PACKAGES xfixes"
|
||||
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes"
|
||||
fi
|
||||
|
||||
# Checks for Xcomposite extension
|
||||
|
||||
if $PKG_CONFIG --exists xcomposite ; then
|
||||
AC_DEFINE(HAVE_XCOMPOSITE, 1, Have the XCOMPOSITE X extension)
|
||||
|
||||
X_PACKAGES="$X_PACKAGES xcomposite"
|
||||
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite"
|
||||
fi
|
||||
|
||||
# Checks for Xdamage extension
|
||||
|
||||
if $PKG_CONFIG --exists xdamage ; then
|
||||
AC_DEFINE(HAVE_XDAMAGE, 1, Have the XDAMAGE X extension)
|
||||
|
||||
X_PACKAGES="$X_PACKAGES xdamage"
|
||||
GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage"
|
||||
fi
|
||||
|
||||
if $have_base_x_pc ; then
|
||||
@@ -1363,7 +1362,14 @@ else
|
||||
fi
|
||||
|
||||
if test "x$gdktarget" = "xwin32"; then
|
||||
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid"
|
||||
# We start off with the libraries from Pango
|
||||
|
||||
if test x$have_wintab = xyes; then
|
||||
GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
|
||||
AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
|
||||
fi
|
||||
|
||||
GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -user32 -limm32 -lshell32 -lole32 -Wl,-luuid"
|
||||
AM_CONDITIONAL(USE_WIN32, true)
|
||||
else
|
||||
AM_CONDITIONAL(USE_WIN32, false)
|
||||
@@ -1385,19 +1391,36 @@ AC_SUBST(GDK_PIXBUF_XLIB_EXTRA_CFLAGS)
|
||||
AC_SUBST(GDK_PIXBUF_XLIB_DEP_LIBS)
|
||||
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
|
||||
|
||||
if test "x$gdktarget" = "xlinux-fb"; then
|
||||
if test x$enable_shadowfb = xyes ; then
|
||||
AC_DEFINE(ENABLE_SHADOW_FB)
|
||||
fi
|
||||
|
||||
if test x$enable_fbmanager = xyes ; then
|
||||
AC_DEFINE(ENABLE_FB_MANAGER)
|
||||
AM_CONDITIONAL(ENABLE_FB_MANAGER, true)
|
||||
else
|
||||
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(USE_LINUX_FB, true)
|
||||
else
|
||||
AM_CONDITIONAL(USE_LINUX_FB, false)
|
||||
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
|
||||
fi
|
||||
|
||||
if test "x$gdktarget" = "xdirectfb"; then
|
||||
DIRECTFB_REQUIRED_VERSION=0.9.24
|
||||
AC_MSG_CHECKING(for DirectFB)
|
||||
|
||||
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb && $PKG_CONFIG --exists cairo-directfb ; then
|
||||
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
|
||||
AC_MSG_RESULT(found)
|
||||
GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags cairo-directfb` $GDK_EXTRA_CFLAGS"
|
||||
GDK_EXTRA_LIBS="`$PKG_CONFIG --libs cairo-directfb` $GDK_EXTRA_LIBS"
|
||||
else
|
||||
AC_MSG_ERROR([
|
||||
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer and the cairo backend
|
||||
*** are required. The latest version of DirectFB is always available
|
||||
*** from http://www.directfb.org/.
|
||||
*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
|
||||
*** version of DirectFB is always available from http://www.directfb.org/.
|
||||
])
|
||||
fi
|
||||
|
||||
@@ -1506,21 +1529,12 @@ if test x"$os_win32" = xyes; then
|
||||
GTK_EXTRA_CFLAGS="$msnative_struct"
|
||||
fi
|
||||
|
||||
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
|
||||
ATK_PREFIX="`$PKG_CONFIG --variable=prefix atk`"
|
||||
PANGO_PREFIX="`$PKG_CONFIG --variable=prefix pango`"
|
||||
CAIRO_PREFIX="`pkg-config --variable=prefix cairo`"
|
||||
|
||||
AC_SUBST(GTK_PACKAGES)
|
||||
AC_SUBST(GTK_EXTRA_LIBS)
|
||||
AC_SUBST(GTK_EXTRA_CFLAGS)
|
||||
AC_SUBST(GTK_DEP_LIBS)
|
||||
AC_SUBST(GTK_DEP_CFLAGS)
|
||||
|
||||
AC_SUBST(GLIB_PREFIX)
|
||||
AC_SUBST(ATK_PREFIX)
|
||||
AC_SUBST(PANGO_PREFIX)
|
||||
AC_SUBST(CAIRO_PREFIX)
|
||||
|
||||
AC_SUBST(GTK_DEBUG_FLAGS)
|
||||
AC_SUBST(GTK_XIM_FLAGS)
|
||||
@@ -1566,13 +1580,6 @@ fi
|
||||
CPPFLAGS="$gtk_save_cppflags"
|
||||
|
||||
|
||||
AC_ARG_ENABLE(test-print-backend,
|
||||
[AC_HELP_STRING([--enable-test-print-backend],
|
||||
[build test print backend])],,
|
||||
[enable_test_print_backend=no])
|
||||
AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
|
||||
|
||||
|
||||
################################################################
|
||||
# Strip -export-dynamic from the link lines of various libraries
|
||||
################################################################
|
||||
@@ -1586,7 +1593,6 @@ AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno")
|
||||
#
|
||||
# We are using gmodule-no-export now, but I'm leaving the stripping
|
||||
# code in place for now, since pango and atk still require gmodule.
|
||||
export SED
|
||||
export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
|
||||
if test -n "$export_dynamic"; then
|
||||
GDK_PIXBUF_DEP_LIBS=`echo $GDK_PIXBUF_DEP_LIBS | sed -e "s/$export_dynamic//"`
|
||||
@@ -1600,7 +1606,7 @@ fi
|
||||
# Checks for gtk-doc and docbook-tools
|
||||
##################################################
|
||||
|
||||
GTK_DOC_CHECK([1.6])
|
||||
GTK_DOC_CHECK([1.4])
|
||||
|
||||
AC_CHECK_PROG(DB2HTML, db2html, true, false)
|
||||
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
|
||||
@@ -1678,6 +1684,10 @@ if test "x$gdktarget" = "xx11" ; then
|
||||
elif test "x$gdktarget" = "xwin32" ; then
|
||||
gdk_windowing='
|
||||
#define GDK_WINDOWING_WIN32'
|
||||
elif test "x$gdktarget" = "xlinux-fb" ; then
|
||||
gdk_windowing='
|
||||
#define GDK_WINDOWING_FB
|
||||
#define GDK_NATIVE_WINDOW_POINTER'
|
||||
elif test "x$gdktarget" = "xquartz" ; then
|
||||
gdk_windowing='
|
||||
#define GDK_WINDOWING_QUARTZ'
|
||||
@@ -1740,6 +1750,7 @@ gdk/x11/Makefile
|
||||
gdk/win32/Makefile
|
||||
gdk/win32/rc/Makefile
|
||||
gdk/win32/rc/gdk.rc
|
||||
gdk/linux-fb/Makefile
|
||||
gdk/quartz/Makefile
|
||||
gdk/directfb/Makefile
|
||||
gtk/Makefile
|
||||
@@ -1759,7 +1770,6 @@ modules/printbackends/Makefile
|
||||
modules/printbackends/cups/Makefile
|
||||
modules/printbackends/lpr/Makefile
|
||||
modules/printbackends/file/Makefile
|
||||
modules/printbackends/test/Makefile
|
||||
perf/Makefile
|
||||
contrib/Makefile
|
||||
contrib/gdk-pixbuf-xlib/Makefile
|
||||
@@ -1770,3 +1780,9 @@ AC_OUTPUT
|
||||
|
||||
echo "configuration:
|
||||
target: $gdktarget"
|
||||
|
||||
if test "x$gdktarget" = "xlinux-fb"; then
|
||||
echo "Warning: The linux-fb GDK target is unmaintained"
|
||||
echo " and may not work or even compile"
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,24 +1,3 @@
|
||||
2007-06-15 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.3 ===
|
||||
|
||||
2007-06-06 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.2 ===
|
||||
|
||||
2007-06-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.1 ===
|
||||
|
||||
2007-05-24 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.0 ===
|
||||
|
||||
2006-10-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf-xlib.c: Apply a cleanup patch by
|
||||
Kjartan Maraas (#341812)
|
||||
|
||||
2006-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.2 ===
|
||||
|
||||
@@ -152,6 +152,7 @@ rgb1 (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
|
||||
int xx, yy;
|
||||
int width, height;
|
||||
int bpl;
|
||||
guint8 *s;
|
||||
register guint8 data;
|
||||
guint8 *o;
|
||||
guint8 *srow = image->data, *orow = pixels;
|
||||
@@ -166,6 +167,7 @@ rgb1 (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
|
||||
bpl = image->bytes_per_line;
|
||||
|
||||
for (yy = 0; yy < height; yy++) {
|
||||
s = srow;
|
||||
o = orow;
|
||||
|
||||
for (xx = 0; xx < width; xx ++) {
|
||||
@@ -189,6 +191,7 @@ rgb1a (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
|
||||
int xx, yy;
|
||||
int width, height;
|
||||
int bpl;
|
||||
guint8 *s;
|
||||
register guint8 data;
|
||||
guint8 *o;
|
||||
guint8 *srow = image->data, *orow = pixels;
|
||||
@@ -218,6 +221,7 @@ rgb1a (XImage *image, guchar *pixels, int rowstride, xlib_colormap *colormap)
|
||||
}
|
||||
|
||||
for (yy = 0; yy < height; yy++) {
|
||||
s = srow;
|
||||
o = orow;
|
||||
|
||||
for (xx = 0; xx < width; xx ++) {
|
||||
@@ -984,6 +988,7 @@ convert_real_slow (XImage *image, guchar *pixels, int rowstride, xlib_colormap *
|
||||
int width, height;
|
||||
int bpl;
|
||||
guint8 *srow = image->data, *orow = pixels;
|
||||
guint8 *s;
|
||||
guint8 *o;
|
||||
guint32 pixel;
|
||||
Visual *v;
|
||||
@@ -1006,6 +1011,7 @@ convert_real_slow (XImage *image, guchar *pixels, int rowstride, xlib_colormap *
|
||||
red_prec, green_prec, blue_prec));
|
||||
|
||||
for (yy = 0; yy < height; yy++) {
|
||||
s = srow;
|
||||
o = orow;
|
||||
for (xx = 0; xx < width; xx++) {
|
||||
pixel = XGetPixel (image, xx, yy);
|
||||
|
||||
@@ -7,7 +7,6 @@ democodedir=$(datadir)/gtk-2.0/demo
|
||||
demos = \
|
||||
appwindow.c \
|
||||
assistant.c \
|
||||
builder.c \
|
||||
button_box.c \
|
||||
changedisplay.c \
|
||||
clipboard.c \
|
||||
@@ -32,7 +31,6 @@ demos = \
|
||||
sizegroup.c \
|
||||
stock_browser.c \
|
||||
textview.c \
|
||||
textscroll.c \
|
||||
tree_store.c \
|
||||
ui_manager.c
|
||||
|
||||
@@ -61,8 +59,7 @@ bin_PROGRAMS = gtk-demo
|
||||
BUILT_SOURCES = demos.h
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(IMAGEFILES) \
|
||||
demo.ui
|
||||
$(IMAGEFILES)
|
||||
|
||||
demos.h: @REBUILD@ $(demos) geninclude.pl
|
||||
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
|
||||
@@ -75,7 +72,6 @@ gtk_demo_SOURCES = \
|
||||
|
||||
gtk_demo_DEPENDENCIES = $(DEPS)
|
||||
gtk_demo_LDADD = $(LDADDS)
|
||||
gtk_demo_LDFLAGS = -export-dynamic
|
||||
|
||||
IMAGEFILES= alphatest.png \
|
||||
apple-red.png \
|
||||
@@ -92,6 +88,6 @@ IMAGEFILES= alphatest.png \
|
||||
gnu-keys.png \
|
||||
gtk-logo-rgb.gif
|
||||
|
||||
democode_DATA = $(demos) $(IMAGEFILES) demo.ui
|
||||
democode_DATA = $(demos) $(IMAGEFILES)
|
||||
|
||||
DISTCLEANFILES = demos.h
|
||||
|
||||
@@ -141,7 +141,6 @@ about_cb (GtkAction *action,
|
||||
"authors", authors,
|
||||
"documenters", documentors,
|
||||
"logo", transparent,
|
||||
"title", "About GTK+ Code Demos",
|
||||
NULL);
|
||||
|
||||
g_object_unref (transparent);
|
||||
@@ -157,7 +156,7 @@ typedef struct
|
||||
GtkActionClass parent_class;
|
||||
} ToolMenuActionClass;
|
||||
|
||||
G_DEFINE_TYPE(ToolMenuAction, tool_menu_action, GTK_TYPE_ACTION)
|
||||
G_DEFINE_TYPE(ToolMenuAction, tool_menu_action, GTK_TYPE_ACTION);
|
||||
|
||||
static void
|
||||
tool_menu_action_class_init (ToolMenuActionClass *class)
|
||||
@@ -330,7 +329,7 @@ register_stock_icons (void)
|
||||
factory = gtk_icon_factory_new ();
|
||||
gtk_icon_factory_add_default (factory);
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
@@ -468,7 +467,6 @@ do_appwindow (GtkWidget *do_widget)
|
||||
"stock-id", GTK_STOCK_OPEN,
|
||||
NULL);
|
||||
gtk_action_group_add_action (action_group, open_action);
|
||||
g_object_unref (open_action);
|
||||
gtk_action_group_add_actions (action_group,
|
||||
entries, n_entries,
|
||||
window);
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
/* Builder
|
||||
*
|
||||
* Demonstrates an interface loaded from a XML description.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "demo-common.h"
|
||||
|
||||
void
|
||||
quit_activate (GtkAction *action)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
about_activate (GtkAction *action)
|
||||
{
|
||||
GtkWidget *about_dlg;
|
||||
|
||||
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_destroy (about_dlg);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_builder (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
GtkBuilder *builder;
|
||||
GError *err = NULL;
|
||||
gchar *filename;
|
||||
|
||||
if (!window)
|
||||
{
|
||||
builder = gtk_builder_new ();
|
||||
filename = demo_find_file ("demo.ui", NULL);
|
||||
gtk_builder_add_from_file (builder, filename, &err);
|
||||
g_free (filename);
|
||||
if (err)
|
||||
{
|
||||
g_error ("ERROR: %s\n", err->message);
|
||||
return NULL;
|
||||
}
|
||||
gtk_builder_connect_signals (builder, NULL);
|
||||
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
|
||||
}
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (window))
|
||||
{
|
||||
gtk_widget_show_all (window);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_destroy (window);
|
||||
window = NULL;
|
||||
}
|
||||
|
||||
|
||||
return window;
|
||||
}
|
||||
@@ -300,8 +300,6 @@ display_changed_cb (GtkTreeSelection *selection,
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
|
||||
if (info->current_display)
|
||||
g_object_unref (info->current_display);
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
gtk_tree_model_get (model, &iter,
|
||||
DISPLAY_COLUMN_DISPLAY, &info->current_display,
|
||||
@@ -322,8 +320,6 @@ screen_changed_cb (GtkTreeSelection *selection,
|
||||
GtkTreeModel *model;
|
||||
GtkTreeIter iter;
|
||||
|
||||
if (info->current_screen)
|
||||
g_object_unref (info->current_screen);
|
||||
if (gtk_tree_selection_get_selected (selection, &model, &iter))
|
||||
gtk_tree_model_get (model, &iter,
|
||||
SCREEN_COLUMN_SCREEN, &info->current_screen,
|
||||
@@ -566,14 +562,6 @@ destroy_info (ChangeDisplayInfo *info)
|
||||
g_slist_free (tmp_list);
|
||||
|
||||
g_object_unref (info->size_group);
|
||||
g_object_unref (info->display_model);
|
||||
g_object_unref (info->screen_model);
|
||||
|
||||
if (info->current_display)
|
||||
g_object_unref (info->current_display);
|
||||
if (info->current_screen)
|
||||
g_object_unref (info->current_screen);
|
||||
|
||||
g_free (info);
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,6 @@ create_stock_icon_store (void)
|
||||
PIXBUF_COL, pixbuf,
|
||||
TEXT_COL, label,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
g_free (label);
|
||||
}
|
||||
else
|
||||
@@ -246,87 +245,11 @@ fill_combo_entry (GtkWidget *entry)
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (entry), "Three");
|
||||
}
|
||||
|
||||
|
||||
/* A simple validating entry */
|
||||
|
||||
#define TYPE_MASK_ENTRY (mask_entry_get_type ())
|
||||
#define MASK_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MASK_ENTRY, MaskEntry))
|
||||
#define MASK_ENTRY_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), TYPE_MASK_ENTRY, MaskEntryClass))
|
||||
#define IS_MASK_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MASK_ENTRY))
|
||||
#define IS_MASK_ENTRY_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), TYPE_MASK_ENTRY))
|
||||
#define MASK_ENTRY_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), TYPE_MASK_ENTRY, MaskEntryClass))
|
||||
|
||||
|
||||
typedef struct _MaskEntry MaskEntry;
|
||||
struct _MaskEntry
|
||||
{
|
||||
GtkEntry entry;
|
||||
gchar *mask;
|
||||
};
|
||||
|
||||
typedef struct _MaskEntryClass MaskEntryClass;
|
||||
struct _MaskEntryClass
|
||||
{
|
||||
GtkEntryClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
static void mask_entry_editable_init (GtkEditableClass *iface);
|
||||
|
||||
G_DEFINE_TYPE_WITH_CODE (MaskEntry, mask_entry, GTK_TYPE_ENTRY,
|
||||
G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE,
|
||||
mask_entry_editable_init));
|
||||
|
||||
|
||||
static void
|
||||
mask_entry_set_background (MaskEntry *entry)
|
||||
{
|
||||
static const GdkColor error_color = { 0, 65535, 60000, 60000 };
|
||||
|
||||
if (entry->mask)
|
||||
{
|
||||
if (!g_regex_match_simple (entry->mask, gtk_entry_get_text (GTK_ENTRY (entry)), 0, 0))
|
||||
{
|
||||
gtk_widget_modify_base (GTK_WIDGET (entry), GTK_STATE_NORMAL, &error_color);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gtk_widget_modify_base (GTK_WIDGET (entry), GTK_STATE_NORMAL, NULL);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
mask_entry_changed (GtkEditable *editable)
|
||||
{
|
||||
mask_entry_set_background (MASK_ENTRY (editable));
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
mask_entry_init (MaskEntry *entry)
|
||||
{
|
||||
entry->mask = NULL;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
mask_entry_class_init (MaskEntryClass *klass)
|
||||
{ }
|
||||
|
||||
|
||||
static void
|
||||
mask_entry_editable_init (GtkEditableClass *iface)
|
||||
{
|
||||
iface->changed = mask_entry_changed;
|
||||
}
|
||||
|
||||
|
||||
GtkWidget *
|
||||
do_combobox (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
GtkWidget *vbox, *frame, *box, *combo, *entry;
|
||||
GtkWidget *vbox, *frame, *box, *combo;
|
||||
GtkTreeModel *model;
|
||||
GtkCellRenderer *renderer;
|
||||
GtkTreePath *path;
|
||||
@@ -419,7 +342,7 @@ do_combobox (GtkWidget *do_widget)
|
||||
gtk_tree_path_free (path);
|
||||
gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combo), &iter);
|
||||
|
||||
/* A GtkComboBoxEntry with validation.
|
||||
/* A GtkComboBoxEntry
|
||||
*/
|
||||
frame = gtk_frame_new ("Editable");
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
|
||||
@@ -432,12 +355,6 @@ do_combobox (GtkWidget *do_widget)
|
||||
fill_combo_entry (combo);
|
||||
gtk_container_add (GTK_CONTAINER (box), combo);
|
||||
|
||||
entry = g_object_new (TYPE_MASK_ENTRY, NULL);
|
||||
MASK_ENTRY (entry)->mask = "^([0-9]*|One|Two|2\302\275|Three)$";
|
||||
|
||||
gtk_container_remove (GTK_CONTAINER (combo), GTK_BIN (combo)->child);
|
||||
gtk_container_add (GTK_CONTAINER (combo), entry);
|
||||
|
||||
}
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (window))
|
||||
|
||||
@@ -1,227 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
||||
<interface>
|
||||
<object class="GtkListStore" id="liststore1">
|
||||
<columns>
|
||||
<column type="gchararray"/>
|
||||
<column type="gchararray"/>
|
||||
<column type="gint"/>
|
||||
</columns>
|
||||
<data>
|
||||
<row>
|
||||
<col id="0">John</col>
|
||||
<col id="1">Doe</col>
|
||||
<col id="2">25</col>
|
||||
</row>
|
||||
<row>
|
||||
<col id="0">Mary</col>
|
||||
<col id="1">Dole</col>
|
||||
<col id="2">50</col>
|
||||
</row>
|
||||
</data>
|
||||
</object>
|
||||
<object class="GtkUIManager" id="uimanager">
|
||||
<child>
|
||||
<object class="GtkActionGroup" id="DefaultActions">
|
||||
<child>
|
||||
<object class="GtkAction" id="Copy">
|
||||
<property name="name">Copy</property>
|
||||
<property name="tooltip" translatable="yes">Copy selected object into the clipboard</property>
|
||||
<property name="stock_id">gtk-copy</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="Cut">
|
||||
<property name="name">Cut</property>
|
||||
<property name="tooltip" translatable="yes">Cut selected object into the clipboard</property>
|
||||
<property name="stock_id">gtk-cut</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="EditMenu">
|
||||
<property name="name">EditMenu</property>
|
||||
<property name="label" translatable="yes">_Edit</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="FileMenu">
|
||||
<property name="name">FileMenu</property>
|
||||
<property name="label" translatable="yes">_File</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="New">
|
||||
<property name="name">New</property>
|
||||
<property name="tooltip" translatable="yes">Create a new file</property>
|
||||
<property name="stock_id">gtk-new</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="Open">
|
||||
<property name="name">Open</property>
|
||||
<property name="tooltip" translatable="yes">Open a file</property>
|
||||
<property name="stock_id">gtk-open</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="Paste">
|
||||
<property name="name">Paste</property>
|
||||
<property name="tooltip" translatable="yes">Paste object from the Clipboard</property>
|
||||
<property name="stock_id">gtk-paste</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="Quit">
|
||||
<property name="name">Quit</property>
|
||||
<property name="tooltip" translatable="yes">Quit the program</property>
|
||||
<property name="stock_id">gtk-quit</property>
|
||||
<signal handler="quit_activate" name="activate"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="Save">
|
||||
<property name="name">Save</property>
|
||||
<property name="is_important">True</property>
|
||||
<property name="tooltip" translatable="yes">Save a file</property>
|
||||
<property name="stock_id">gtk-save</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="SaveAs">
|
||||
<property name="name">SaveAs</property>
|
||||
<property name="tooltip" translatable="yes">Save with a different name</property>
|
||||
<property name="stock_id">gtk-save-as</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="HelpMenu">
|
||||
<property name="name">Help</property>
|
||||
<property name="label" translatable="yes">_Help</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkAction" id="About">
|
||||
<property name="name">About</property>
|
||||
<property name="stock_id">gtk-about</property>
|
||||
<signal handler="about_activate" name="activate"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<ui>
|
||||
<menubar name="menubar1">
|
||||
<menu action="FileMenu" name="FileMenu">
|
||||
<menuitem action="New" name="New"/>
|
||||
<menuitem action="Open" name="Open"/>
|
||||
<menuitem action="Save" name="Save"/>
|
||||
<menuitem action="SaveAs" name="SaveAs"/>
|
||||
<separator/>
|
||||
<menuitem action="Quit" name="Quit"/>
|
||||
</menu>
|
||||
<menu action="EditMenu">
|
||||
<menuitem action="Copy" name="Copy"/>
|
||||
<menuitem action="Cut" name="Cut"/>
|
||||
<menuitem action="Paste" name="Paste"/>
|
||||
</menu>
|
||||
<menu action="HelpMenu" name="HelpMenu">
|
||||
<menuitem action="About" name="About"/>
|
||||
</menu>
|
||||
</menubar>
|
||||
<toolbar name="toolbar1">
|
||||
<toolitem action="New" name="New"/>
|
||||
<toolitem action="Open" name="Open"/>
|
||||
<toolitem action="Save" name="Save"/>
|
||||
<separator/>
|
||||
<toolitem action="Copy" name="Copy"/>
|
||||
<toolitem action="Cut" name="Cut"/>
|
||||
<toolitem action="Paste" name="Paste"/>
|
||||
</toolbar>
|
||||
</ui>
|
||||
</object>
|
||||
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="default_height">250</property>
|
||||
<property name="default_width">440</property>
|
||||
<signal name="destroy" handler="gtk_widget_destroyed"/>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object constructor="uimanager" class="GtkMenuBar" id="menubar1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object constructor="uimanager" class="GtkToolbar" id="toolbar1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="scrolledwindow1">
|
||||
<property name="hscrollbar_policy">automatic</property>
|
||||
<property name="shadow_type">in</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="vscrollbar_policy">automatic</property>
|
||||
<child>
|
||||
<object class="GtkTreeView" id="treeview1">
|
||||
<property name="visible">True</property>
|
||||
<property name="model">liststore1</property>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="column1">
|
||||
<property name="title">Name</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="renderer1"/>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="column2">
|
||||
<property name="title">Surname</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="renderer2"/>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="column3">
|
||||
<property name="title">Age</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="renderer3"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkStatusbar" id="statusbar1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -218,16 +218,6 @@ checkerboard_expose (GtkWidget *da,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
close_window (void)
|
||||
{
|
||||
window = NULL;
|
||||
|
||||
if (pixmap)
|
||||
g_object_unref (pixmap);
|
||||
pixmap = NULL;
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_drawingarea (GtkWidget *do_widget)
|
||||
{
|
||||
@@ -243,7 +233,7 @@ do_drawingarea (GtkWidget *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);
|
||||
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
|
||||
|
||||
@@ -319,9 +309,14 @@ do_drawingarea (GtkWidget *do_widget)
|
||||
}
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (window))
|
||||
{
|
||||
gtk_widget_show_all (window);
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_destroy (window);
|
||||
window = NULL;
|
||||
}
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
@@ -165,9 +165,9 @@ event_after (GtkWidget *text_view,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean hovering_over_link = FALSE;
|
||||
static GdkCursor *hand_cursor = NULL;
|
||||
static GdkCursor *regular_cursor = NULL;
|
||||
gboolean hovering_over_link = FALSE;
|
||||
GdkCursor *hand_cursor = NULL;
|
||||
GdkCursor *regular_cursor = NULL;
|
||||
|
||||
/* Looks at all tags covering the position (x, y) in the text view,
|
||||
* and if one of them is a link, change the cursor to the "hands" cursor
|
||||
@@ -179,9 +179,12 @@ set_cursor_if_appropriate (GtkTextView *text_view,
|
||||
gint y)
|
||||
{
|
||||
GSList *tags = NULL, *tagp = NULL;
|
||||
GtkTextBuffer *buffer;
|
||||
GtkTextIter iter;
|
||||
gboolean hovering = FALSE;
|
||||
|
||||
buffer = gtk_text_view_get_buffer (text_view);
|
||||
|
||||
gtk_text_view_get_iter_at_location (text_view, &iter, x, y);
|
||||
|
||||
tags = gtk_text_iter_get_tags (&iter);
|
||||
|
||||
@@ -37,7 +37,7 @@ load_pixbufs (GError **error)
|
||||
if (file_pixbuf)
|
||||
return TRUE; /* already loaded earlier */
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
@@ -243,18 +243,6 @@ home_clicked (GtkToolItem *item,
|
||||
TRUE);
|
||||
}
|
||||
|
||||
static void close_window(void)
|
||||
{
|
||||
gtk_widget_destroy (window);
|
||||
window = NULL;
|
||||
|
||||
g_object_unref (file_pixbuf);
|
||||
file_pixbuf = NULL;
|
||||
|
||||
g_object_unref (folder_pixbuf);
|
||||
folder_pixbuf = NULL;
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_iconview (GtkWidget *do_widget)
|
||||
{
|
||||
@@ -270,7 +258,7 @@ do_iconview (GtkWidget *do_widget)
|
||||
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
|
||||
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (close_window), NULL);
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
|
||||
error = NULL;
|
||||
if (!load_pixbufs (&error))
|
||||
|
||||
@@ -184,7 +184,7 @@ progressive_timeout (gpointer data)
|
||||
gchar *error_message = NULL;
|
||||
GError *error = NULL;
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
@@ -255,7 +255,7 @@ start_progressive_loading (GtkWidget *image)
|
||||
* The timeout simply simulates a slow data source by inserting
|
||||
* pauses in the reading process.
|
||||
*/
|
||||
load_timeout = gdk_threads_add_timeout (150,
|
||||
load_timeout = g_timeout_add (150,
|
||||
progressive_timeout,
|
||||
image);
|
||||
}
|
||||
@@ -352,7 +352,7 @@ do_images (GtkWidget *do_widget)
|
||||
gtk_container_add (GTK_CONTAINER (align), frame);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
|
||||
@@ -575,8 +575,6 @@ load_file (const gchar *filename)
|
||||
}
|
||||
}
|
||||
|
||||
fclose (file);
|
||||
|
||||
fontify ();
|
||||
|
||||
g_string_free (buffer, TRUE);
|
||||
@@ -784,8 +782,6 @@ create_tree (void)
|
||||
|
||||
gtk_widget_grab_focus (tree_view);
|
||||
|
||||
g_object_unref (model);
|
||||
|
||||
return box;
|
||||
}
|
||||
|
||||
@@ -869,7 +865,7 @@ main (int argc, char **argv)
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
gtk_window_set_title (GTK_WINDOW (window), "GTK+ Code Demos");
|
||||
g_signal_connect_after (window, "destroy",
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_main_quit), NULL);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 0);
|
||||
@@ -885,15 +881,13 @@ main (int argc, char **argv)
|
||||
create_text (&info_buffer, FALSE),
|
||||
gtk_label_new_with_mnemonic ("_Info"));
|
||||
|
||||
tag = gtk_text_buffer_create_tag (info_buffer, "title",
|
||||
"font", "Sans 18",
|
||||
NULL);
|
||||
g_object_unref (info_buffer);
|
||||
|
||||
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
|
||||
create_text (&source_buffer, TRUE),
|
||||
gtk_label_new_with_mnemonic ("_Source"));
|
||||
|
||||
tag = gtk_text_buffer_create_tag (info_buffer, "title",
|
||||
"font", "Sans 18",
|
||||
NULL);
|
||||
|
||||
tag = gtk_text_buffer_create_tag (source_buffer, "comment",
|
||||
"foreground", "DodgerBlue",
|
||||
@@ -916,7 +910,6 @@ main (int argc, char **argv)
|
||||
"weight", PANGO_WEIGHT_BOLD,
|
||||
"foreground", "DarkGoldenrod4",
|
||||
NULL);
|
||||
g_object_unref (source_buffer);
|
||||
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
|
||||
gtk_widget_show_all (window);
|
||||
|
||||
@@ -61,7 +61,7 @@ load_pixbufs (GError **error)
|
||||
if (background)
|
||||
return TRUE; /* already loaded earlier */
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
@@ -187,9 +187,7 @@ timeout (gpointer data)
|
||||
: MAX (127, fabs (255 * cos (f * 2.0 * G_PI)))));
|
||||
}
|
||||
|
||||
GDK_THREADS_ENTER ();
|
||||
gtk_widget_queue_draw (da);
|
||||
GDK_THREADS_LEAVE ();
|
||||
|
||||
frame_num++;
|
||||
return TRUE;
|
||||
|
||||
@@ -61,9 +61,8 @@ draw_page (GtkPrintOperation *operation,
|
||||
PrintData *data = (PrintData *)user_data;
|
||||
cairo_t *cr;
|
||||
PangoLayout *layout;
|
||||
gint text_width, text_height;
|
||||
gdouble width;
|
||||
gint line, i;
|
||||
gdouble width, text_height;
|
||||
gint line, i, layout_height;
|
||||
PangoFontDescription *desc;
|
||||
gchar *page_str;
|
||||
|
||||
@@ -86,25 +85,21 @@ draw_page (GtkPrintOperation *operation,
|
||||
pango_font_description_free (desc);
|
||||
|
||||
pango_layout_set_text (layout, data->filename, -1);
|
||||
pango_layout_get_pixel_size (layout, &text_width, &text_height);
|
||||
pango_layout_set_width (layout, width);
|
||||
pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER);
|
||||
|
||||
pango_layout_get_size (layout, NULL, &layout_height);
|
||||
text_height = (gdouble)layout_height / PANGO_SCALE;
|
||||
|
||||
if (text_width > width)
|
||||
{
|
||||
pango_layout_set_width (layout, width);
|
||||
pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_START);
|
||||
pango_layout_get_pixel_size (layout, &text_width, &text_height);
|
||||
}
|
||||
|
||||
cairo_move_to (cr, (width - text_width) / 2, (HEADER_HEIGHT - text_height) / 2);
|
||||
cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2);
|
||||
pango_cairo_show_layout (cr, layout);
|
||||
|
||||
page_str = g_strdup_printf ("%d/%d", page_nr + 1, data->num_pages);
|
||||
pango_layout_set_text (layout, page_str, -1);
|
||||
g_free (page_str);
|
||||
|
||||
pango_layout_set_width (layout, -1);
|
||||
pango_layout_get_pixel_size (layout, &text_width, &text_height);
|
||||
cairo_move_to (cr, width - text_width - 4, (HEADER_HEIGHT - text_height) / 2);
|
||||
pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT);
|
||||
|
||||
cairo_move_to (cr, width - 2, (HEADER_HEIGHT - text_height) / 2);
|
||||
pango_cairo_show_layout (cr, layout);
|
||||
|
||||
g_object_unref (layout);
|
||||
|
||||
@@ -1,200 +0,0 @@
|
||||
/* Text Widget/Automatic scrolling
|
||||
*
|
||||
* This example demonstrates how to use the gravity of
|
||||
* GtkTextMarks to keep a text view scrolled to the bottom
|
||||
* while appending text.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "demo-common.h"
|
||||
|
||||
/* Scroll to the end of the buffer.
|
||||
*/
|
||||
static gboolean
|
||||
scroll_to_end (GtkTextView *textview)
|
||||
{
|
||||
GtkTextBuffer *buffer;
|
||||
GtkTextIter iter;
|
||||
GtkTextMark *mark;
|
||||
char *spaces;
|
||||
static int count;
|
||||
|
||||
buffer = gtk_text_view_get_buffer (textview);
|
||||
|
||||
/* Get "end" mark. It's located at the end of buffer because
|
||||
* of right gravity
|
||||
*/
|
||||
mark = gtk_text_buffer_get_mark (buffer, "end");
|
||||
gtk_text_buffer_get_iter_at_mark (buffer, &iter, mark);
|
||||
|
||||
/* and insert some text at its position, the iter will be
|
||||
* revalidated after insertion to point to the end of inserted text
|
||||
*/
|
||||
spaces = g_strnfill (count++, ' ');
|
||||
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
|
||||
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
|
||||
gtk_text_buffer_insert (buffer, &iter,
|
||||
"Scroll to end scroll to end scroll "
|
||||
"to end scroll to end ",
|
||||
-1);
|
||||
g_free (spaces);
|
||||
|
||||
/* Now scroll the end mark onscreen.
|
||||
*/
|
||||
gtk_text_view_scroll_mark_onscreen (textview, mark);
|
||||
|
||||
/* Emulate typewriter behavior, shift to the left if we
|
||||
* are far enough to the right.
|
||||
*/
|
||||
if (count > 150)
|
||||
count = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Scroll to the bottom of the buffer.
|
||||
*/
|
||||
static gboolean
|
||||
scroll_to_bottom (GtkTextView *textview)
|
||||
{
|
||||
GtkTextBuffer *buffer;
|
||||
GtkTextIter iter;
|
||||
GtkTextMark *mark;
|
||||
char *spaces;
|
||||
static int count;
|
||||
|
||||
buffer = gtk_text_view_get_buffer (textview);
|
||||
|
||||
/* Get end iterator */
|
||||
gtk_text_buffer_get_end_iter (buffer, &iter);
|
||||
|
||||
/* and insert some text at it, the iter will be revalidated
|
||||
* after insertion to point to the end of inserted text
|
||||
*/
|
||||
spaces = g_strnfill (count++, ' ');
|
||||
gtk_text_buffer_insert (buffer, &iter, "\n", -1);
|
||||
gtk_text_buffer_insert (buffer, &iter, spaces, -1);
|
||||
gtk_text_buffer_insert (buffer, &iter,
|
||||
"Scroll to bottom scroll to bottom scroll "
|
||||
"to bottom scroll to bottom",
|
||||
-1);
|
||||
g_free (spaces);
|
||||
|
||||
/* Move the iterator to the beginning of line, so we don't scroll
|
||||
* in horizontal direction
|
||||
*/
|
||||
gtk_text_iter_set_line_offset (&iter, 0);
|
||||
|
||||
/* and place the mark at iter. the mark will stay there after we
|
||||
* insert some text at the end because it has right gravity.
|
||||
*/
|
||||
mark = gtk_text_buffer_get_mark (buffer, "scroll");
|
||||
gtk_text_buffer_move_mark (buffer, mark, &iter);
|
||||
|
||||
/* Scroll the mark onscreen.
|
||||
*/
|
||||
gtk_text_view_scroll_mark_onscreen (textview, mark);
|
||||
|
||||
/* Shift text back if we got enough to the right.
|
||||
*/
|
||||
if (count > 40)
|
||||
count = 0;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static guint
|
||||
setup_scroll (GtkTextView *textview,
|
||||
gboolean to_end)
|
||||
{
|
||||
GtkTextBuffer *buffer;
|
||||
GtkTextIter iter;
|
||||
|
||||
buffer = gtk_text_view_get_buffer (textview);
|
||||
gtk_text_buffer_get_end_iter (buffer, &iter);
|
||||
|
||||
if (to_end)
|
||||
{
|
||||
/* If we want to scroll to the end, including horizontal scrolling,
|
||||
* then we just create a mark with right gravity at the end of the
|
||||
* buffer. It will stay at the end unless explicitely moved with
|
||||
* gtk_text_buffer_move_mark.
|
||||
*/
|
||||
gtk_text_buffer_create_mark (buffer, "end", &iter, FALSE);
|
||||
|
||||
/* Add scrolling timeout. */
|
||||
return g_timeout_add (50, (GSourceFunc) scroll_to_end, textview);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* If we want to scroll to the bottom, but not scroll horizontally,
|
||||
* then an end mark won't do the job. Just create a mark so we can
|
||||
* use it with gtk_text_view_scroll_mark_onscreen, we'll position it
|
||||
* explicitely when needed. Use left gravity so the mark stays where
|
||||
* we put it after inserting new text.
|
||||
*/
|
||||
gtk_text_buffer_create_mark (buffer, "scroll", &iter, TRUE);
|
||||
|
||||
/* Add scrolling timeout. */
|
||||
return g_timeout_add (100, (GSourceFunc) scroll_to_bottom, textview);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
remove_timeout (GtkWidget *window,
|
||||
gpointer timeout)
|
||||
{
|
||||
g_source_remove (GPOINTER_TO_UINT (timeout));
|
||||
}
|
||||
|
||||
static void
|
||||
create_text_view (GtkWidget *hbox,
|
||||
gboolean to_end)
|
||||
{
|
||||
GtkWidget *swindow;
|
||||
GtkWidget *textview;
|
||||
guint timeout;
|
||||
|
||||
swindow = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_box_pack_start_defaults (GTK_BOX (hbox), swindow);
|
||||
textview = gtk_text_view_new ();
|
||||
gtk_container_add (GTK_CONTAINER (swindow), textview);
|
||||
|
||||
timeout = setup_scroll (GTK_TEXT_VIEW (textview), to_end);
|
||||
|
||||
/* Remove the timeout in destroy handler, so we don't try to
|
||||
* scroll destroyed widget.
|
||||
*/
|
||||
g_signal_connect (textview, "destroy",
|
||||
G_CALLBACK (remove_timeout),
|
||||
GUINT_TO_POINTER (timeout));
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
do_textscroll (GtkWidget *do_widget)
|
||||
{
|
||||
static GtkWidget *window = NULL;
|
||||
|
||||
if (!window)
|
||||
{
|
||||
GtkWidget *hbox;
|
||||
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
g_signal_connect (window, "destroy",
|
||||
G_CALLBACK (gtk_widget_destroyed), &window);
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
|
||||
|
||||
hbox = gtk_hbox_new (TRUE, 6);
|
||||
gtk_container_add (GTK_CONTAINER (window), hbox);
|
||||
|
||||
create_text_view (hbox, TRUE);
|
||||
create_text_view (hbox, FALSE);
|
||||
}
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (window))
|
||||
gtk_widget_show_all (window);
|
||||
else
|
||||
gtk_widget_destroy (window);
|
||||
|
||||
return window;
|
||||
}
|
||||
@@ -155,7 +155,7 @@ insert_text (GtkTextBuffer *buffer)
|
||||
GtkTextChildAnchor *anchor;
|
||||
char *filename;
|
||||
|
||||
/* demo_find_file() looks in the current directory first,
|
||||
/* demo_find_file() looks in the the current directory first,
|
||||
* so you can run gtk-demo without installing GTK, then looks
|
||||
* in the location where the file is installed.
|
||||
*/
|
||||
@@ -350,7 +350,7 @@ insert_text (GtkTextBuffer *buffer)
|
||||
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
|
||||
gtk_text_buffer_insert (buffer, &iter, ".\n", -1);
|
||||
|
||||
gtk_text_buffer_insert (buffer, &iter, "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; it leaves out, for example: invisible/hidden text, tab stops, application-drawn areas on the sides of the widget for displaying breakpoints and such...", -1);
|
||||
gtk_text_buffer_insert (buffer, &iter, "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; it leaves out, for example: invisible/hidden text (doesn't work in GTK 2, but planned), tab stops, application-drawn areas on the sides of the widget for displaying breakpoints and such...", -1);
|
||||
|
||||
/* Apply word_wrap tag to whole buffer */
|
||||
gtk_text_buffer_get_bounds (buffer, &start, &end);
|
||||
|
||||
@@ -183,12 +183,10 @@ do_ui_manager (GtkWidget *do_widget)
|
||||
|
||||
ui = gtk_ui_manager_new ();
|
||||
gtk_ui_manager_insert_action_group (ui, actions, 0);
|
||||
g_object_unref (actions);
|
||||
gtk_window_add_accel_group (GTK_WINDOW (window),
|
||||
gtk_ui_manager_get_accel_group (ui));
|
||||
gtk_window_set_title (GTK_WINDOW (window), "UI Manager");
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
|
||||
|
||||
|
||||
if (!gtk_ui_manager_add_ui_from_string (ui, ui_info, -1, &error))
|
||||
{
|
||||
@@ -225,7 +223,6 @@ do_ui_manager (GtkWidget *do_widget)
|
||||
gtk_widget_grab_default (button);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
g_object_unref (ui);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -225,7 +225,7 @@ main (int argc, char **argv)
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (window), da);
|
||||
|
||||
timeout_id = gdk_threads_add_timeout (FRAME_DELAY, timeout, NULL);
|
||||
timeout_id = g_timeout_add (FRAME_DELAY, timeout, NULL);
|
||||
|
||||
gtk_widget_show_all (window);
|
||||
gtk_main ();
|
||||
|
||||
@@ -301,7 +301,7 @@ start_progressive_loading (GtkWidget *image)
|
||||
* The timeout simply simulates a slow data source by inserting
|
||||
* pauses in the reading process.
|
||||
*/
|
||||
lc->load_timeout = gdk_threads_add_timeout (100,
|
||||
lc->load_timeout = g_timeout_add (100,
|
||||
progressive_timeout,
|
||||
image);
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ configure_cb (GtkWidget *drawing_area, GdkEventConfigure *evt, gpointer data)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
extern void pixbuf_init (void);
|
||||
extern void pixbuf_init ();
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
|
||||
@@ -358,11 +358,11 @@ expose_func (GtkWidget *drawing_area, GdkEventExpose *event, gpointer data)
|
||||
static void
|
||||
config_func (GtkWidget *drawing_area, GdkEventConfigure *event, gpointer data)
|
||||
{
|
||||
#if 0
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
pixbuf = (GdkPixbuf *)g_object_get_data (G_OBJECT (drawing_area), "pixbuf");
|
||||
|
||||
#if 0
|
||||
if (((event->width) != gdk_pixbuf_get_width (pixbuf)) ||
|
||||
((event->height) != gdk_pixbuf_get_height (pixbuf)))
|
||||
gdk_pixbuf_scale (pixbuf, event->width, event->height);
|
||||
@@ -504,7 +504,7 @@ progressive_updated_callback (GdkPixbufLoader* loader, guint x, guint y, guint w
|
||||
|
||||
static int readlen = 4096;
|
||||
|
||||
extern void pixbuf_init (void);
|
||||
extern void pixbuf_init ();
|
||||
|
||||
void size_func (GdkPixbufLoader *loader, gint width, gint height, gpointer data)
|
||||
{
|
||||
@@ -628,7 +628,7 @@ main (int argc, char **argv)
|
||||
|
||||
status.readlen = readlen;
|
||||
|
||||
status.timeout = gdk_threads_add_timeout (100, update_timeout, &status);
|
||||
status.timeout = g_timeout_add (100, update_timeout, &status);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ Freetype can be found at ftp://ftp.freetype.org
|
||||
|
||||
Hardware requirements:
|
||||
----------------------
|
||||
You need a graphics card with an available framebuffer driver that can
|
||||
You need a graphics card with an availible 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.
|
||||
@@ -44,7 +44,7 @@ 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
|
||||
Then compile as ususal: make; make install
|
||||
|
||||
Fonts:
|
||||
------
|
||||
@@ -124,7 +124,7 @@ GDK_MOUSE_TYPE:
|
||||
Default is ps2.
|
||||
|
||||
GDK_KEYBOARD_TYPE:
|
||||
Specify keyboard type. Currently supported is
|
||||
Specify keyboard type. Currently suppored 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,
|
||||
|
||||
@@ -6,7 +6,7 @@ programming for/with Gtk, having the spirit of a developers FAQ.
|
||||
It is also the correct place to list up things that programmers should
|
||||
care about in general.
|
||||
|
||||
In the hope that this text might be useful to someone,
|
||||
In the hope that this text might be usefull to someone,
|
||||
|
||||
- Tim Janik <timj@gimp.org>
|
||||
1998/02/11
|
||||
@@ -43,7 +43,7 @@ GDK_SELECTION_CLEAR GtkWidget::selection_clear_event
|
||||
GDK_FOCUS_CHANGE GtkWidget::focus_in_event
|
||||
GtkWidget::focus_out_event
|
||||
|
||||
Events that are assured to have a valid GdkEvent.any.window field are
|
||||
Events that are asured to have a valid GdkEvent.any.window field are
|
||||
|
||||
GDK_EXPOSE GtkWidget::expose_event
|
||||
|
||||
@@ -61,7 +61,7 @@ Writing Gdk functions
|
||||
---------------------
|
||||
|
||||
When writing Gdk functions that operate on GdkWindow structures in any
|
||||
meaningful sense, that is casting to a GdkWindowPrivate structure for
|
||||
maeningfull sense, that is casting to a GdkWindowPrivate structure for
|
||||
access to fields other then GdkWindow.user_data, the programmer is
|
||||
recommended to check for the GdkWindowPrivate.destroyed field to be ==
|
||||
FALSE, especially if the GdkWindowPrivate.xwindow field is used.
|
||||
|
||||
@@ -112,7 +112,7 @@ Retrieves the selection that will be used to communicate
|
||||
the data for the drag context (valid on both source
|
||||
and dest sides)
|
||||
|
||||
Cursors and window hierarchies
|
||||
Cursors and window heirarchies
|
||||
==============================
|
||||
|
||||
The DND code, when possible (and it isn't possible over
|
||||
@@ -123,7 +123,7 @@ the cursor is in _ourselves_ so we can ignore the
|
||||
drag icon properly. (Oh for OutputOnly windows!)
|
||||
|
||||
To avoid obscene amounts of server traffic (which are only
|
||||
slightly observable locally, but would really kill a
|
||||
slighly observerable locally, but would really kill a
|
||||
session over a slow link), the code in GDK does
|
||||
XGetWindowAttributes for every child of the root window at
|
||||
the beginning of the drag, then selects with
|
||||
|
||||
@@ -1636,7 +1636,7 @@ int main(int argc, char *argv[])
|
||||
gtk_container_set_border_width(GTK_CONTAINER (window), 10);
|
||||
#endif
|
||||
|
||||
/* add a button to do something useful */
|
||||
/* add a button to do something usefull */
|
||||
button = gtk_button_new_with_label("Fork me!");
|
||||
|
||||
g_signal_connect(G_OBJECT (button), "clicked",
|
||||
@@ -2815,7 +2815,7 @@ the Label widget, which can be done using:</para>
|
||||
GtkTooltips in itself is not a GtkWidget (though a GtkObject)
|
||||
and as such is not attempted to match any widget styles.</para>
|
||||
|
||||
<para>So, your resource file should look something like:</para>
|
||||
<para>So, you resource file should look something like:</para>
|
||||
|
||||
<programlisting role="C">
|
||||
style "postie"
|
||||
|
||||
2982
docs/faq/gtkfaq.sgml
Normal file
2982
docs/faq/gtkfaq.sgml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -97,7 +97,7 @@ F2, F3: together these are exactly the cases where we get
|
||||
|
||||
F4: we get an LeaveNotify with the focus flag set. An
|
||||
LeaveNotify with a focus flag set will also be sent if
|
||||
F==W, so we have to to explicitly test for that case
|
||||
F==W, so we have to to explicity test for that case
|
||||
using has_focus_window(W).
|
||||
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ makeenums.pl can be run into two modes:
|
||||
|
||||
2) Generate the enumeration portion of gtk.defs.
|
||||
|
||||
The enumeration portion is added to the boxed type
|
||||
The enumearation portion is added to the boxed type
|
||||
declarations in gtk-boxed.defs to create gtk.defs.
|
||||
|
||||
The makeetypes.awk program takes the gtk.defs file, and
|
||||
@@ -162,7 +162,7 @@ The possible types are:
|
||||
GtkDestroyNotify Notify)
|
||||
|
||||
Some of these types map to multiple return values - these
|
||||
are marked above with the return types in parentheses.
|
||||
are marked above with the return types in parantheses.
|
||||
|
||||
NOTES
|
||||
=====
|
||||
@@ -170,7 +170,7 @@ NOTES
|
||||
When autogenerating GTK+ files, the autogenerated
|
||||
files are often rebuild resulting in the same result.
|
||||
|
||||
To prevent unnecessary rebuilds of the entire directory, some files
|
||||
To prevent unecessary rebuilds of the entire directory, some files
|
||||
that multiple other source files depend on are not actually written
|
||||
to directly. Instead, an intermediate file is written, which
|
||||
is then compared to the old file, and only if it is different
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
CONFIGURING PACKAGES TO WORK WITH GTK
|
||||
-------------------------------------
|
||||
|
||||
Compiling a program successfully against the GTK, GDK, and GLIB
|
||||
Compiling a program succesfully against the GTK, GDK, and GLIB
|
||||
libraries can require a large number of command line options
|
||||
to your compiler and linker that are hard to guess correctly.
|
||||
The additional libraries required may, for example, depend on the
|
||||
|
||||
@@ -22,10 +22,10 @@ GtkObjects also provide the following functions:
|
||||
GdkWindow
|
||||
---------
|
||||
|
||||
A GdkWindow has to be explicitly destroyed with gdk_window_destroy.
|
||||
A GdkWindow has to be explicitely destroyed with gdk_window_destroy.
|
||||
This will send out a request to destroy this window and all its
|
||||
children, and will decrement the ref_count of the GdkWindow by one.
|
||||
Thus, it releases the initial reference created by gdk_window_new.
|
||||
Thus, it releases the inital reference created by gdk_window_new.
|
||||
|
||||
All GdkWindows are kept in a hash table to translate from their XId to
|
||||
the actual structure and the pointer in the hash table is reflected in
|
||||
@@ -62,7 +62,7 @@ GdkVisual
|
||||
---------
|
||||
|
||||
There are no *_new or *_destroy functions and the *_ref and *_unref
|
||||
functions are no-ops. GdkVisuals are static structures and thus do not
|
||||
functions are noops. GdkVisuals are static structures and thus do not
|
||||
need reference counting. The ref counting functions are only there
|
||||
for extra defensive programming.
|
||||
|
||||
@@ -220,13 +220,13 @@ Then, when the user wants to get rid of the window:
|
||||
/* The GdkWindow of `window' and all its child GdkWindows are
|
||||
* destroyed.
|
||||
*
|
||||
* window is unregistered from the toplevel list and its ref_count
|
||||
* drops to zero. The destroy code of `window' destroys `option_menu'.
|
||||
* window is unregistered from the loplevel list and its ref_count
|
||||
* drops to zero. The destroy code of `window' destroyes `option_menu'.
|
||||
*
|
||||
* The destroy code of `option_menu' causes the `menu' to be detached
|
||||
* from it and its reference count drops to zero.
|
||||
*
|
||||
* The destroy code of `menu' destroys `menu_item'.
|
||||
* The destroy code of `menu' destroyes `menu_item'.
|
||||
*
|
||||
* The destruction of `menu_item' removes it from its parent, the
|
||||
* menu_item->ref_count drops to zero and `menu_item' is finalized (freed).
|
||||
@@ -241,7 +241,7 @@ Taking care of proper referencing
|
||||
|
||||
There are some cases where referencing of widgets from outside the toolkit
|
||||
(on the application side) is needed.
|
||||
Once the application performs an operation on a widget that will cause
|
||||
Once the application performes an operation on a widget that will cause
|
||||
its reference count to drop, if it wants to take further actions on the
|
||||
widget, it needs to hold a reference to it.
|
||||
|
||||
|
||||
@@ -1,304 +1,3 @@
|
||||
2007-06-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-docs.sgml: Move GtkMenuShell to the abstract widgets.
|
||||
|
||||
2007-06-17 Jan Arne Petersen <jpetersen@jpetersen.org>
|
||||
|
||||
* gtk/gtk-docs.sgml: Add GtkTooltip. (#448341)
|
||||
|
||||
2007-06-15 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.3 ===
|
||||
|
||||
2007-06-15 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtktreeview.sgml: Fix up cross-references
|
||||
|
||||
* gtk/gtk-sections.txt:
|
||||
* gtk/Makefile.am: Updates
|
||||
|
||||
2007-06-14 Johan Dahlin <jdahlin@async.com.br>
|
||||
|
||||
* gtk/tmpl/gtktreeview.sgml (linkend): inlinegraphic instead of
|
||||
inlinegraphics.
|
||||
|
||||
2007-06-13 Michael Natterer <mitch@imendio.com>
|
||||
|
||||
* gtk/tmpl/gtkmenuitem.sgml: remove stuff that has been moved inline.
|
||||
|
||||
2007-06-12 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Remove GDK_WINDOWING_FB
|
||||
* gtk/Makefile.am:
|
||||
* gtk/gtk-docs.sgml:
|
||||
* gtk/compiling.sgml:
|
||||
* gtk/building.sgml: Remove linux-fb references
|
||||
|
||||
2007-06-09 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-update-icon-cache.xml: Document --validate
|
||||
|
||||
2007-06-09 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/text_widget.sgml:
|
||||
* gtk/tree_widget.sgml:
|
||||
* gtk/tmpl/gtkscalebutton.sgml:
|
||||
* gtk/tmpl/gtktextbuffer.sgml:
|
||||
* gtk/tmpl/gtktexttag.sgml:
|
||||
* gtk/tmpl/gtktextview.sgml:
|
||||
* gtk/tmpl/gtktreemodel.sgml:
|
||||
* gtk/tmpl/gtktreeselection.sgml:
|
||||
* gtk/tmpl/gtktreeviewcolumn.sgml:
|
||||
* gtk/tmpl/gtkcellrenderer.sgml:
|
||||
* gtk/tmpl/gtkliststore.sgml:
|
||||
* gtk/tmpl/gtktreestore.sgml:
|
||||
* gtk/tmpl/gtkmenubar.sgml:
|
||||
* gtk/tmpl/gtkbbox.sgml:
|
||||
* gtk/tmpl/gtkseparator.sgml:
|
||||
* gtk/tmpl/gtkgamma.sgml:
|
||||
* gtk/tmpl/gtkhruler.sgml:
|
||||
* gtk/tmpl/gtkvruler.sgml:
|
||||
* gtk/tmpl/gtkrecentchooser.sgml:
|
||||
* gtk/tmpl/gtkvolumebutton.sgml: Clean up short descriptions
|
||||
|
||||
2007-06-09 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkbindings.sgml:
|
||||
* gtk/tmpl/gtkrc.sgml:
|
||||
* gtk/tmpl/gtkwidget.sgml:
|
||||
* gtk/tmpl/gtkrecentmanager.sgml:
|
||||
* gtk/*.sgml:
|
||||
* gtk/tmpl/gtkstock.sgml:
|
||||
* gtk/gtk-sections.txt: Updates
|
||||
|
||||
* gtk/Makefile.am: Exclude another private header
|
||||
|
||||
* gtk/tmpl/gtkbox.sgml: Move docs inline
|
||||
|
||||
2007-06-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_rc_parse_color_full
|
||||
|
||||
2007-06-06 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.2 ===
|
||||
|
||||
2007-06-04 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.1 ===
|
||||
|
||||
2007-06-03 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/Makefile.am:
|
||||
* gtk/visual_index.xml:
|
||||
* gtk/images/volumebutton.png: Volume button image
|
||||
|
||||
2007-06-01 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Add new composited window api
|
||||
* gdk/tmpl/windows.sgml: Add composited window example
|
||||
|
||||
2007-05-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/migrating*.sgml: Some cleanups
|
||||
|
||||
2007-05-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkentry.sgml: Move docs inline
|
||||
|
||||
* gtk/tmpl/gtklinkbutton.sgml:
|
||||
* gtk/tmpl/gtkfilechooser.sgml:
|
||||
* gtk/tmpl/gtkcellrenderer.sgml:
|
||||
* gtk/tmpl/gtkenums.sgml:
|
||||
* gtk/tmpl/gtkcontainer.sgml: Additions
|
||||
|
||||
2007-05-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk-overrides.txt: Remove GdkBitmap
|
||||
* gtk/gtk-sections.txt:
|
||||
* gtk/tmpl/gtkenums.sgml:
|
||||
* gdk/tmpl/rgb.sgml:
|
||||
* gdk/tmpl/gcs.sgml:
|
||||
* gdk/tmpl/pango_interaction.sgml:
|
||||
* gdk/tmpl/windows.sgml: Additions
|
||||
|
||||
2007-05-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-sections.txt:
|
||||
* gdk/gdk-sections.txt: Add new api
|
||||
|
||||
2007-05-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/*: Get the docs in shape
|
||||
|
||||
2007-05-25 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add new functions
|
||||
|
||||
2007-05-24 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.11.0 ===
|
||||
|
||||
2007-05-23 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt:
|
||||
* gdk/gdk-sections.txt: Updates
|
||||
|
||||
2007-05-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* gtk/gtk-docs.sgml: Add missing docs for the
|
||||
volume button
|
||||
|
||||
2007-05-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* gtk/gtk-sections.txt: Add the GtkVolumeButton widget
|
||||
to the docs
|
||||
|
||||
2007-05-20 Bastien Nocera <hadess@hadess.net>
|
||||
|
||||
* gtk/gtk-docs.sgml:
|
||||
* gtk/gtk-sections.txt: add the GtkScaleButton widget
|
||||
to the docs
|
||||
|
||||
2007-05-19 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_notebook_[gs]et_group
|
||||
|
||||
2007-05-18 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_entry_[gs]et_cursor_hadjustment.
|
||||
|
||||
2007-05-18 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add generic icon lookup function
|
||||
|
||||
2007-04-29 Dan Winship <danw@novell.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Add
|
||||
gdk_x11_display_broadcast_startup_message and some other missing
|
||||
startup-notification-related methods
|
||||
|
||||
2007-04-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add new functions to serialize/
|
||||
deserialize page setups and print settings.
|
||||
|
||||
2007-04-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_paper_size_get_builtins
|
||||
|
||||
2007-04-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_printer_{has,request}_details
|
||||
|
||||
2007-04-28 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkdnd.sgml: Document GTK_TARGET_OTHER_*
|
||||
|
||||
2007-04-26 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkcomboboxentry.sgml: Mention that the entry
|
||||
can be replaced.
|
||||
|
||||
2007-04-25 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkdialog.sgml: Fix a wrong cross reference.
|
||||
(#431289, Bastian Nocera)
|
||||
|
||||
2007-03-19 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkaboutdialog.sgml: Add a paragraph about setting
|
||||
the title on the dialog.
|
||||
|
||||
2007-02-14 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
reviewed by: Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf/Makefile.am:
|
||||
* gdk/Makefile.am:
|
||||
* gtk/Makefile.am: use installation prefixes of dependent libs to
|
||||
crossreference docs (#407146).
|
||||
|
||||
2007-01-27 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/sgml/gtkfilesel.sgml: Add deprecation information.
|
||||
|
||||
2007-01-08 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkentry.sgml: Expand deprecation notes for
|
||||
gtk_entry_append/prepend_text. (#394034, Micah Carrick)
|
||||
|
||||
2007-01-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk-pixbuf/gdk-pixbuf-sections.txt: Correct the include
|
||||
for GdkPixdata. (#394000, Samuel Cormier-Iijima)
|
||||
|
||||
2007-01-07 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkstatusbar.sgml: Move docs inline and
|
||||
expand them a bit.
|
||||
|
||||
2007-01-02 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtktextbuffer.sgml: Document rich text
|
||||
serialization functions. (#347940, Murray Cumming)
|
||||
|
||||
2006-12-30 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkactiongroup.sgml: Document that action
|
||||
labels may be NULL.
|
||||
|
||||
2006-12-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add gtk_cell_layout_get_cells.
|
||||
|
||||
* gtk/gtk-docs.sgml: Add a "Since 2.12" index.
|
||||
|
||||
2006-12-22 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Add new functions.
|
||||
* gdk/gdk-docs.sgml: Add a "Since 2.12" index.
|
||||
|
||||
Thu Dec 14 15:48:14 2006 Tim Janik <timj@imendio.com>
|
||||
|
||||
* gtk/gtk-sections.txt: added new docs.
|
||||
|
||||
2006-11-19 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
* gtk/gtk-sections.txt: add gtk_status_icon_(get|set)_screen
|
||||
|
||||
Tue Oct 10 16:38:23 2006 Tim Janik <timj@imendio.com>
|
||||
|
||||
* gtk/tmpl/gtkbindings.sgml:
|
||||
* gtk/gtkbindings.c: applied patch from Michael Natterer to move to
|
||||
inline docs. applied wording fixes suggested by Martyn Russell.
|
||||
|
||||
Tue Oct 10 15:29:15 2006 Tim Janik <timj@imendio.com>
|
||||
|
||||
* gtk/tmpl/gtkbindings.sgml: documented GtkBinding*, #358329.
|
||||
|
||||
2006-09-22 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkpagesetup.sgml: Apply a patch
|
||||
to fix some typos. (#355961, Claudio Saavedra)
|
||||
|
||||
2006-09-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/glossary.xml: Add an entry for Ellipsization.
|
||||
|
||||
2006-08-31 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkwidget.sgml: Fix some typos (Mariano Suarez-Alvarez)
|
||||
|
||||
2006-08-29 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gdk/gdk-sections.txt: Add gdk_window_beep
|
||||
|
||||
2006-08-25 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/question_index.sgml: Rewrite the answer for
|
||||
automatic scrolling.
|
||||
|
||||
2006-08-17 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.10.2 ===
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
2007-06-19 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* docs/reference/gtk/tmpl/gtkextendedlayout.sgml,
|
||||
docs/reference/gtk/gtk-docs.sgml, docs/reference/gtk/gtk-sections.txt,
|
||||
docs/reference/gtk/gtk.types: Implement GtkExtendLayout interface.
|
||||
|
||||
@@ -62,9 +62,7 @@ content_files = \
|
||||
HTML_IMAGES = composite.png
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS= --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib
|
||||
|
||||
FIXXREF_OPTIONS=
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
|
||||
@@ -89,7 +89,6 @@ gdk_pixbuf_copy
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<INCLUDE>gdk-pixbuf/gdk-pixdata.h</INCLUDE>
|
||||
<FILE>inline</FILE>
|
||||
GdkPixdata
|
||||
GdkPixdataType
|
||||
@@ -147,8 +146,7 @@ GDK_PIXBUF_SIMPLE_ANIM_CLASS
|
||||
GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS
|
||||
GDK_TYPE_PIXBUF_SIMPLE_ANIM
|
||||
GDK_PIXBUF_SIMPLE_ANIM
|
||||
GDK_TYPE_PIXBUF_SCALED_ANIM
|
||||
GDK_TYPE_PIXBUF_SCALED_ANIM_ITER
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_pixbuf_non_anim_new
|
||||
|
||||
@@ -158,10 +156,6 @@ gdk_pixbuf_animation_iter_get_type
|
||||
gdk_pixbuf_simple_anim_get_type
|
||||
gdk_pixbuf_simple_anim_iter_get_type
|
||||
GdkPixbufSimpleAnimClass
|
||||
gdk_pixbuf_scaled_anim_get_type
|
||||
gdk_pixbuf_scaled_anim_iter_get_type
|
||||
GdkPixbufScaledAnimClass
|
||||
GdkPixbufScaledAnim
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
|
||||
@@ -23,15 +23,6 @@ Scaling pixbufs and scaling and compositing pixbufs
|
||||
new pixbuf.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Scaling and compositing functions take advantage of MMX hardware
|
||||
acceleration on systems where MMX is supported. If gdk-pixbuf is built
|
||||
with the Sun mediaLib library, these functions are instead accelerated
|
||||
using mediaLib, which provides hardware acceleration on Intel, AMD,
|
||||
and Sparc chipsets. If desired, mediaLib support can be turned off by
|
||||
setting the GDK_DISABLE_MEDIALIB environment variable.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The following example demonstrates handling an expose event by
|
||||
rendering the appropriate area of a source image (which is scaled
|
||||
|
||||
@@ -143,11 +143,7 @@ HTML_IMAGES = \
|
||||
images/xterm.png
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
|
||||
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
|
||||
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
|
||||
@@ -107,8 +107,5 @@
|
||||
<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>
|
||||
|
||||
@@ -15,6 +15,13 @@ struct GdkPixmap
|
||||
};
|
||||
</STRUCT>
|
||||
<STRUCT>
|
||||
<NAME>GdkBitmap</NAME>
|
||||
struct GdkBitmap
|
||||
{
|
||||
gpointer user_data;
|
||||
};
|
||||
</STRUCT>
|
||||
<STRUCT>
|
||||
<NAME>GdkDrawable</NAME>
|
||||
struct GdkDrawable
|
||||
{
|
||||
|
||||
@@ -12,7 +12,6 @@ gdk_set_locale
|
||||
gdk_set_sm_client_id
|
||||
gdk_exit
|
||||
gdk_notify_startup_complete
|
||||
gdk_notify_startup_complete_with_id
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_get_program_class
|
||||
@@ -55,6 +54,7 @@ gdk_error_trap_pop
|
||||
<SUBSECTION>
|
||||
GDK_WINDOWING_X11
|
||||
GDK_WINDOWING_WIN32
|
||||
GDK_WINDOWING_FB
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_TYPE_GRAB_STATUS
|
||||
@@ -154,7 +154,6 @@ gdk_display_supports_clipboard_persistence
|
||||
gdk_display_store_clipboard
|
||||
gdk_display_supports_shapes
|
||||
gdk_display_supports_input_shapes
|
||||
gdk_display_supports_composite
|
||||
<SUBSECTION Standard>
|
||||
GDK_DISPLAY_OBJECT
|
||||
GDK_IS_DISPLAY
|
||||
@@ -386,7 +385,6 @@ gdk_color_alloc
|
||||
gdk_color_change
|
||||
gdk_color_equal
|
||||
gdk_color_hash
|
||||
gdk_color_to_string
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GDK_COLORMAP
|
||||
@@ -650,8 +648,6 @@ gdk_window_fullscreen
|
||||
gdk_window_unfullscreen
|
||||
gdk_window_set_keep_above
|
||||
gdk_window_set_keep_below
|
||||
gdk_window_set_opacity
|
||||
gdk_window_set_composited
|
||||
gdk_window_move
|
||||
gdk_window_resize
|
||||
gdk_window_move_resize
|
||||
@@ -669,7 +665,6 @@ gdk_window_register_dnd
|
||||
gdk_window_begin_resize_drag
|
||||
gdk_window_begin_move_drag
|
||||
gdk_window_constrain_size
|
||||
gdk_window_beep
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_window_begin_paint_rect
|
||||
@@ -747,7 +742,6 @@ gdk_window_set_icon
|
||||
gdk_window_set_icon_name
|
||||
gdk_window_set_transient_for
|
||||
gdk_window_set_role
|
||||
gdk_window_set_startup_id
|
||||
gdk_window_set_group
|
||||
gdk_window_get_group
|
||||
gdk_window_set_decorations
|
||||
@@ -867,9 +861,7 @@ gdk_pango_context_get
|
||||
gdk_pango_context_get_for_screen
|
||||
gdk_pango_context_set_colormap
|
||||
GdkPangoAttrEmbossed
|
||||
GdkPangoAttrEmbossColor
|
||||
GdkPangoAttrStipple
|
||||
gdk_pango_attr_emboss_color_new
|
||||
gdk_pango_attr_embossed_new
|
||||
gdk_pango_attr_stipple_new
|
||||
gdk_pango_layout_get_clip_region
|
||||
@@ -958,10 +950,6 @@ gdk_threads_enter
|
||||
gdk_threads_leave
|
||||
gdk_threads_mutex
|
||||
gdk_threads_set_lock_functions
|
||||
gdk_threads_add_idle
|
||||
gdk_threads_add_idle_full
|
||||
gdk_threads_add_timeout
|
||||
gdk_threads_add_timeout_full
|
||||
|
||||
<SUBSECTION Private>
|
||||
gdk_threads_lock
|
||||
@@ -1078,7 +1066,6 @@ gdk_event_get_state
|
||||
gdk_event_get_axis
|
||||
gdk_event_get_coords
|
||||
gdk_event_get_root_coords
|
||||
gdk_event_request_motions
|
||||
|
||||
<SUBSECTION>
|
||||
gdk_event_handler_set
|
||||
@@ -1293,8 +1280,6 @@ gdk_x11_colormap_get_xcolormap
|
||||
gdk_x11_colormap_get_xdisplay
|
||||
gdk_x11_cursor_get_xcursor
|
||||
gdk_x11_cursor_get_xdisplay
|
||||
gdk_x11_display_broadcast_startup_message
|
||||
gdk_x11_display_get_startup_notification_id
|
||||
gdk_x11_display_get_xdisplay
|
||||
gdk_x11_display_grab
|
||||
gdk_x11_display_ungrab
|
||||
|
||||
@@ -289,12 +289,3 @@ The colormap structure contains the following public fields.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_color_to_string ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@color:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -268,14 +268,6 @@ is given in the <link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link>.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_request_motions ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@event:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_event_handler_set ##### -->
|
||||
<para>
|
||||
</para>
|
||||
|
||||
@@ -103,22 +103,22 @@ images, only %GDK_COPY, %GDK_XOR and %GDK_INVERT are generally
|
||||
useful. For bitmaps, %GDK_AND and %GDK_OR are also useful.
|
||||
</para>
|
||||
|
||||
@GDK_COPY: <literal>dst = src</literal>
|
||||
@GDK_INVERT: <literal>dst = NOT dst</literal>
|
||||
@GDK_XOR: <literal>dst = src XOR dst</literal>
|
||||
@GDK_CLEAR: <literal>dst = 0</literal>
|
||||
@GDK_AND: <literal>dst = dst AND src</literal>
|
||||
@GDK_AND_REVERSE: <literal>dst = src AND (NOT dst)</literal>
|
||||
@GDK_AND_INVERT: <literal>dst = (NOT src) AND dst</literal>
|
||||
@GDK_NOOP: <literal>dst = dst</literal>
|
||||
@GDK_OR: <literal>dst = src OR dst</literal>
|
||||
@GDK_EQUIV: <literal>dst = (NOT src) XOR dst</literal>
|
||||
@GDK_OR_REVERSE: <literal>dst = src OR (NOT dst)</literal>
|
||||
@GDK_COPY_INVERT: <literal>dst = NOT src</literal>
|
||||
@GDK_OR_INVERT: <literal>dst = (NOT src) OR dst</literal>
|
||||
@GDK_NAND: <literal>dst = (NOT src) OR (NOT dst)</literal>
|
||||
@GDK_NOR: <literal>dst = (NOT src) AND (NOT dst)</literal>
|
||||
@GDK_SET: <literal>dst = 1</literal>
|
||||
@GDK_COPY:
|
||||
@GDK_INVERT:
|
||||
@GDK_XOR:
|
||||
@GDK_CLEAR:
|
||||
@GDK_AND:
|
||||
@GDK_AND_REVERSE:
|
||||
@GDK_AND_INVERT:
|
||||
@GDK_NOOP:
|
||||
@GDK_OR:
|
||||
@GDK_EQUIV:
|
||||
@GDK_OR_REVERSE:
|
||||
@GDK_COPY_INVERT:
|
||||
@GDK_OR_INVERT:
|
||||
@GDK_NAND:
|
||||
@GDK_NOR:
|
||||
@GDK_SET:
|
||||
|
||||
<!-- ##### FUNCTION gdk_gc_new ##### -->
|
||||
<para>
|
||||
|
||||
@@ -159,12 +159,6 @@ the device ID for the core pointer device.
|
||||
|
||||
@obj:
|
||||
|
||||
<!-- ##### MACRO GDK_WINDOWING_FB ##### -->
|
||||
<para>
|
||||
This macro is defined if GDK is configured to use the Linux framebuffer backend.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_WINDOWING_NANOX ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -396,12 +396,3 @@ Applications should never have any reason to use this facility
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_display_supports_composite ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -125,14 +125,6 @@ of g_atexit()).
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_notify_startup_complete_with_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@startup_id:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_get_program_class ##### -->
|
||||
<para>
|
||||
Gets the program class. Unless the program class has explicitly
|
||||
@@ -399,3 +391,10 @@ This macro is defined if GDK is configured to use the Win32 backend.
|
||||
|
||||
|
||||
|
||||
<!-- ##### MACRO GDK_WINDOWING_FB ##### -->
|
||||
<para>
|
||||
This macro is defined if GDK is configured to use the Linux framebuffer backend.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -240,14 +240,6 @@ rendering the text.
|
||||
@attr: the #PangoAttribute.
|
||||
@embossed: the embossed bitmap.
|
||||
|
||||
<!-- ##### STRUCT GdkPangoAttrEmbossColor ##### -->
|
||||
<para>
|
||||
A Pango text attribute specifying the color to emboss text with.
|
||||
</para>
|
||||
|
||||
@attr: the #PangoAttribute
|
||||
@color: the color
|
||||
|
||||
<!-- ##### STRUCT GdkPangoAttrStipple ##### -->
|
||||
<para>
|
||||
A Pango text attribute containing a stipple bitmap to be used when
|
||||
@@ -257,15 +249,6 @@ rendering the text.
|
||||
@attr: the #PangoAttribute.
|
||||
@stipple: the stipple bitmap.
|
||||
|
||||
<!-- ##### FUNCTION gdk_pango_attr_emboss_color_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@color:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_pango_attr_embossed_new ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ Deprecated equivalent of g_object_unref().
|
||||
|
||||
|
||||
|
||||
<!-- ##### TYPEDEF GdkBitmap ##### -->
|
||||
<!-- ##### STRUCT GdkBitmap ##### -->
|
||||
<para>
|
||||
An opaque structure representing an offscreen drawable of depth
|
||||
1. Pointers to structures of type #GdkPixmap, #GdkBitmap, and
|
||||
@@ -172,6 +172,7 @@ An opaque structure representing an offscreen drawable of depth
|
||||
refers generically to any of these types.
|
||||
</para>
|
||||
|
||||
@user_data:
|
||||
|
||||
<!-- ##### MACRO gdk_bitmap_ref ##### -->
|
||||
<para>
|
||||
|
||||
@@ -34,13 +34,6 @@ created in grayscale and direct color modes, and the visual is changed
|
||||
in cases where a "better" visual than the default is available.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If GDK is built with the Sun mediaLib library, the GdkRGB functions are
|
||||
accelerated using mediaLib, which provides hardware acceleration on Intel,
|
||||
AMD, and Sparc chipsets. If desired, mediaLib support can be turned off
|
||||
by setting the GDK_DISABLE_MEDIALIB environment variable.
|
||||
</para>
|
||||
|
||||
<example>
|
||||
<title>A simple example program using GdkRGB</title>
|
||||
<programlisting>
|
||||
@@ -325,8 +318,8 @@ A private data structure which maps color indices to actual RGB
|
||||
colors. This is used only for gdk_draw_indexed_image().
|
||||
</para>
|
||||
|
||||
@colors: The colors, represented as 0xRRGGBB integer values.
|
||||
@n_colors: The number of colors in the cmap.
|
||||
@colors:
|
||||
@n_colors:
|
||||
|
||||
<!-- ##### FUNCTION gdk_rgb_gc_set_foreground ##### -->
|
||||
<para>
|
||||
|
||||
@@ -308,49 +308,3 @@ gdk_threads_enter()/gdk_threads_leave().
|
||||
@leave_fn:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_threads_add_idle ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@function:
|
||||
@data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_threads_add_idle_full ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@priority:
|
||||
@function:
|
||||
@data:
|
||||
@notify:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_threads_add_timeout ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@interval:
|
||||
@function:
|
||||
@data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_threads_add_timeout_full ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@priority:
|
||||
@interval:
|
||||
@function:
|
||||
@data:
|
||||
@notify:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -12,164 +12,6 @@ GTK+ level. A #GtkWindow is a toplevel window, the thing a user might think of
|
||||
as a "window" with a titlebar and so on; a #GtkWindow may contain many #GdkWindow.
|
||||
For example, each #GtkButton has a #GdkWindow associated with it.
|
||||
</para>
|
||||
<example id="composited-window-example"><title>Composited windows</title>
|
||||
<programlisting><![CDATA[
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
/* The expose event handler for the event box.
|
||||
*
|
||||
* This function simply draws a transparency onto a widget on the area
|
||||
* for which it receives expose events. This is intended to give the
|
||||
* event box a "transparent" background.
|
||||
*
|
||||
* In order for this to work properly, the widget must have an RGBA
|
||||
* colourmap. The widget should also be set as app-paintable since it
|
||||
* doesn't make sense for GTK+ to draw a background if we are drawing it
|
||||
* (and because GTK+ might actually replace our transparency with its
|
||||
* default background colour).
|
||||
*/
|
||||
static gboolean
|
||||
transparent_expose (GtkWidget *widget,
|
||||
GdkEventExpose *event)
|
||||
{
|
||||
cairo_t *cr;
|
||||
|
||||
cr = gdk_cairo_create (widget->window);
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
|
||||
gdk_cairo_region (cr, event->region);
|
||||
cairo_fill (cr);
|
||||
cairo_destroy (cr);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* The expose event handler for the window.
|
||||
*
|
||||
* This function performs the actual compositing of the event box onto
|
||||
* the already-existing background of the window at 50% normal opacity.
|
||||
*
|
||||
* In this case we do not want app-paintable to be set on the widget
|
||||
* since we want it to draw its own (red) background. Because of this,
|
||||
* however, we must ensure that we use g_signal_register_after so that
|
||||
* this handler is called after the red has been drawn. If it was
|
||||
* called before then GTK would just blindly paint over our work.
|
||||
*
|
||||
* Note: if the child window has children, then you need a cairo 1.16
|
||||
* feature to make this work correctly.
|
||||
*/
|
||||
static gboolean
|
||||
window_expose_event (GtkWidget *widget,
|
||||
GdkEventExpose *event)
|
||||
{
|
||||
GdkRegion *region;
|
||||
GtkWidget *child;
|
||||
cairo_t *cr;
|
||||
|
||||
/* get our child (in this case, the event box) */
|
||||
child = gtk_bin_get_child (GTK_BIN (widget));
|
||||
|
||||
/* create a cairo context to draw to the window */
|
||||
cr = gdk_cairo_create (widget->window);
|
||||
|
||||
/* the source data is the (composited) event box */
|
||||
gdk_cairo_set_source_pixmap (cr, child->window,
|
||||
child->allocation.x,
|
||||
child->allocation.y);
|
||||
|
||||
/* draw no more than our expose event intersects our child */
|
||||
region = gdk_region_rectangle (&child->allocation);
|
||||
gdk_region_intersect (region, event->region);
|
||||
gdk_cairo_region (cr, region);
|
||||
cairo_clip (cr);
|
||||
|
||||
/* composite, with a 50% opacity */
|
||||
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
|
||||
cairo_paint_with_alpha (cr, 0.5);
|
||||
|
||||
/* we're done */
|
||||
cairo_destroy (cr);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
GtkWidget *window, *event, *button;
|
||||
GdkScreen *screen;
|
||||
GdkColormap *rgba;
|
||||
GdkColor red;
|
||||
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
/* Make the widgets */
|
||||
button = gtk_button_new_with_label ("A Button");
|
||||
event = gtk_event_box_new ();
|
||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
|
||||
/* Put a red background on the window */
|
||||
gdk_color_parse ("red", &red);
|
||||
gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &red);
|
||||
|
||||
/* Set the colourmap for the event box.
|
||||
* Must be done before the event box is realised.
|
||||
*/
|
||||
screen = gtk_widget_get_screen (event);
|
||||
rgba = gdk_screen_get_rgba_colormap (screen);
|
||||
gtk_widget_set_colormap (event, rgba);
|
||||
|
||||
/* Set our event box to have a fully-transparent background
|
||||
* drawn on it. Currently there is no way to simply tell GTK+
|
||||
* that "transparency" is the background colour for a widget.
|
||||
*/
|
||||
gtk_widget_set_app_paintable (GTK_WIDGET (event), TRUE);
|
||||
g_signal_connect (event, "expose-event",
|
||||
G_CALLBACK (transparent_expose), NULL);
|
||||
|
||||
/* Put them inside one another */
|
||||
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
|
||||
gtk_container_add (GTK_CONTAINER (window), event);
|
||||
gtk_container_add (GTK_CONTAINER (event), button);
|
||||
|
||||
/* Realise and show everything */
|
||||
gtk_widget_show_all (window);
|
||||
|
||||
/* Set the event box GdkWindow to be composited.
|
||||
* Obviously must be performed after event box is realised.
|
||||
*/
|
||||
gdk_window_set_composited (event->window, TRUE);
|
||||
|
||||
/* Set up the compositing handler.
|
||||
* Note that we do _after_ so that the normal (red) background is drawn
|
||||
* by gtk before our compositing occurs.
|
||||
*/
|
||||
g_signal_connect_after (window, "expose-event",
|
||||
G_CALLBACK (window_expose_event), NULL);
|
||||
|
||||
gtk_main (<!-- -->);
|
||||
|
||||
return 0;
|
||||
}
|
||||
]]>
|
||||
</programlisting></example>
|
||||
<para>
|
||||
In the example <xref linkend="composited-window-example"/>, a button is
|
||||
placed inside of an event box inside of a window. The event box is
|
||||
set as composited and therefore is no longer automatically drawn to
|
||||
the screen.
|
||||
</para>
|
||||
<para>
|
||||
When the contents of the event box change, an expose event is
|
||||
generated on its parent window (which, in this case, belongs to
|
||||
the toplevel #GtkWindow). The expose handler for this widget is
|
||||
responsible for merging the changes back on the screen in the way
|
||||
that it wishes.
|
||||
</para>
|
||||
<para>
|
||||
In our case, we merge the contents with a 50% transparency. We
|
||||
also set the background colour of the window to red. The effect is
|
||||
that the background shows through the button.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
@@ -360,8 +202,7 @@ window types.
|
||||
|
||||
@GDK_WINDOW_TYPE_HINT_NORMAL: Normal toplevel window.
|
||||
@GDK_WINDOW_TYPE_HINT_DIALOG: Dialog window.
|
||||
@GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu; GTK+ uses
|
||||
this hint only for torn-off menus, see #GtkTearoffMenuItem.
|
||||
@GDK_WINDOW_TYPE_HINT_MENU: Window used to implement a menu.
|
||||
@GDK_WINDOW_TYPE_HINT_TOOLBAR: Window used to implement toolbars.
|
||||
@GDK_WINDOW_TYPE_HINT_SPLASHSCREEN: Window used to display a splash
|
||||
screen during application startup.
|
||||
@@ -370,14 +211,12 @@ window types.
|
||||
@GDK_WINDOW_TYPE_HINT_DOCK: Used for creating dock or panel windows.
|
||||
@GDK_WINDOW_TYPE_HINT_DESKTOP: Used for creating the desktop background
|
||||
window.
|
||||
@GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU: A menu that belongs to a menubar.
|
||||
@GDK_WINDOW_TYPE_HINT_POPUP_MENU: A menu that does not belong to a menubar,
|
||||
e.g. a context menu.
|
||||
@GDK_WINDOW_TYPE_HINT_TOOLTIP: A tooltip.
|
||||
@GDK_WINDOW_TYPE_HINT_NOTIFICATION: A notification - typically a "bubble"
|
||||
that belongs to a status icon.
|
||||
@GDK_WINDOW_TYPE_HINT_COMBO: A popup from a combo box.
|
||||
@GDK_WINDOW_TYPE_HINT_DND: A window that is used to implement a DND cursor.
|
||||
@GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU:
|
||||
@GDK_WINDOW_TYPE_HINT_POPUP_MENU:
|
||||
@GDK_WINDOW_TYPE_HINT_TOOLTIP:
|
||||
@GDK_WINDOW_TYPE_HINT_NOTIFICATION:
|
||||
@GDK_WINDOW_TYPE_HINT_COMBO:
|
||||
@GDK_WINDOW_TYPE_HINT_DND:
|
||||
|
||||
<!-- ##### STRUCT GdkWindowAttr ##### -->
|
||||
<para>
|
||||
@@ -398,7 +237,6 @@ Attributes to use for a newly-created window.
|
||||
@wmclass_name: don't use (see gtk_window_set_wmclass())
|
||||
@wmclass_class: don't use (see gtk_window_set_wmclass())
|
||||
@override_redirect: %TRUE to bypass the window manager
|
||||
@type_hint: a hint of the function of the window
|
||||
|
||||
<!-- ##### ENUM GdkWindowAttributesType ##### -->
|
||||
<para>
|
||||
@@ -418,7 +256,6 @@ corresponding flag in #GdkWindowAttributesType.
|
||||
@GDK_WA_VISUAL: Honor the visual field
|
||||
@GDK_WA_WMCLASS: Honor the wmclass_class and wmclass_name fields
|
||||
@GDK_WA_NOREDIR: Honor the override_redirect field
|
||||
@GDK_WA_TYPE_HINT: Honor the type_hint field
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_new ##### -->
|
||||
<para>
|
||||
@@ -614,24 +451,6 @@ Deprecated equivalent of g_object_unref()
|
||||
@setting:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_opacity ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@opacity:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_composited ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@composited:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_move ##### -->
|
||||
<para>
|
||||
|
||||
@@ -819,14 +638,6 @@ Registers a window as a potential drop destination.
|
||||
@new_height:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_beep ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_begin_paint_rect ##### -->
|
||||
<para>
|
||||
|
||||
@@ -1530,15 +1341,6 @@ or %GDK_META_MASK in the state field of key events.
|
||||
@role:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_startup_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@startup_id:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_window_set_group ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -515,25 +515,6 @@ Since: 2.2
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_broadcast_startup_message ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@message_type:
|
||||
@Varargs:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_get_startup_notification_id ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@display:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gdk_x11_display_get_xdisplay ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ IGNORE_HFILES= \
|
||||
fnmatch.h \
|
||||
gdk-pixbuf-loader.h \
|
||||
gtkdebug.h \
|
||||
gtkbuilderprivate.h \
|
||||
gtkdndcursors.h \
|
||||
gtkentryprivate.h \
|
||||
gtkfilechooserdefault.h \
|
||||
@@ -42,7 +41,6 @@ IGNORE_HFILES= \
|
||||
gtkfilesystemwin32.h \
|
||||
gtkhsv.h \
|
||||
gtkiconcache.h \
|
||||
gtkiconcachevalidator.h \
|
||||
gtkiconthemeparser.h \
|
||||
gtkimmodule.h \
|
||||
gtkintl.h \
|
||||
@@ -60,20 +58,15 @@ IGNORE_HFILES= \
|
||||
gtkprintutils.h \
|
||||
gtkprintoperation-private.h \
|
||||
gtkprivate.h \
|
||||
gtkquery.h \
|
||||
gtkrbtree.h \
|
||||
gtkrecentchooserdefault.h \
|
||||
gtkrecentchooserutils.h \
|
||||
gtkrecentchooserprivate.h \
|
||||
gtksearchengine.h \
|
||||
gtksearchenginebeagle.h \
|
||||
gtksearchenginetracker.h \
|
||||
gtksearchenginesimple.h \
|
||||
gtksequence.h \
|
||||
gtksocketprivate.h \
|
||||
gtktreedatalist.h \
|
||||
gtktreeprivate.h \
|
||||
gtktextbtree.h \
|
||||
gtktextbufferserializ.h \
|
||||
gtktextchildprivate.h \
|
||||
gtktextdisplay.h \
|
||||
gtktextiterprivate.h \
|
||||
gtktextlayout.h \
|
||||
@@ -82,16 +75,12 @@ IGNORE_HFILES= \
|
||||
gtktexttagprivate.h \
|
||||
gtktexttypes.h \
|
||||
gtktextutil.h \
|
||||
gtkthemes.h \
|
||||
gtktoggleactionprivate.h \
|
||||
gtktrayicon.h \
|
||||
gtktreedatalist.h \
|
||||
gtktreeprivate.h \
|
||||
gtktypebuiltins.h \
|
||||
gtkxembed.h \
|
||||
gtkwin32embed.h \
|
||||
gtkwin32embedwidget.h \
|
||||
gtkwindow-decorate.h \
|
||||
xdgmime \
|
||||
xembed.h
|
||||
|
||||
@@ -123,6 +112,7 @@ content_files = \
|
||||
changes-2.0.sgml \
|
||||
compiling.sgml \
|
||||
directfb.sgml \
|
||||
framebuffer.sgml \
|
||||
glossary.xml \
|
||||
migrating-checklist.sgml \
|
||||
migrating-GtkAction.sgml \
|
||||
@@ -314,17 +304,10 @@ HTML_IMAGES = \
|
||||
$(srcdir)/images/statusbar.png \
|
||||
$(srcdir)/images/toggle-button.png \
|
||||
$(srcdir)/images/toolbar.png \
|
||||
$(srcdir)/images/tree-view-coordinates.png \
|
||||
$(srcdir)/images/volumebutton.png \
|
||||
$(srcdir)/images/window.png
|
||||
|
||||
# Extra options to supply to gtkdoc-fixref
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
|
||||
--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
|
||||
--extra-dir=$(ATK_PREFIX)/share/gtk-doc/html/atk \
|
||||
--extra-dir=$(PANGO_PREFIX)/share/gtk-doc/html/pango \
|
||||
--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
|
||||
FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
|
||||
|
||||
include $(top_srcdir)/gtk-doc.make
|
||||
|
||||
|
||||
@@ -45,12 +45,11 @@ How to compile GTK+ itself
|
||||
of the tools are already included in the source packages. But
|
||||
it's useful to know a bit about how packages that use these
|
||||
tools work. A source package is distributed as a
|
||||
<literal>tar.gz</literal> or <literal>tar.bz2</literal> file
|
||||
which you unpack into a directory full of the source files as follows:
|
||||
<literal>tar.gz</literal> file which you unpack into a
|
||||
directory full of the source files as follows:
|
||||
</para>
|
||||
<programlisting>
|
||||
tar xvfz gtk+-2.0.0.tar.gz
|
||||
tar xvfj gtk+-2.0.0.tar.bz2
|
||||
</programlisting>
|
||||
<para>
|
||||
In the toplevel of the directory that is created, there will be
|
||||
@@ -143,7 +142,7 @@ How to compile GTK+ itself
|
||||
needed for that library along with version number information.)
|
||||
The version of <command>pkg-config</command> needed to build
|
||||
GTK+ is mirrored in the <filename>dependencies</filename> directory
|
||||
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/">GTK+ FTP
|
||||
on the <ulink url="ftp://ftp.gtk.org/pub/gtk/v2.6/">GTK+ FTP
|
||||
site.</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
@@ -332,10 +331,6 @@ How to compile GTK+ itself
|
||||
<arg>--disable-xkb</arg>
|
||||
<arg>--enable-xkb</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--disable-xinerama</arg>
|
||||
<arg>--enable-xinerama</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--disable-gtk-doc</arg>
|
||||
<arg>--enable-gtk-doc</arg>
|
||||
@@ -344,7 +339,11 @@ How to compile GTK+ itself
|
||||
<arg>--with-xinput=[no|yes]</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--with-gdktarget=[x11|win32|quartz|directfb]</arg>
|
||||
<arg>--with-gdktarget=[x11|linux-fb|win32]</arg>
|
||||
</group>
|
||||
<group>
|
||||
<arg>--disable-shadowfb</arg>
|
||||
<arg>--enable-shadowfb</arg>
|
||||
</group>
|
||||
</cmdsynopsis>
|
||||
</para>
|
||||
@@ -481,18 +480,6 @@ How to compile GTK+ itself
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>--disable-xinerama</systemitem> and
|
||||
<systemitem>--enable-xinerama</systemitem></title>
|
||||
|
||||
<para>
|
||||
By default the <command>configure</command> script will try
|
||||
to link against the Xinerama libraries if they are found.
|
||||
These options can be used to explicitly control whether
|
||||
Xinerama should be used.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>--disable-gtk-doc</systemitem> and
|
||||
<systemitem>--enable-gtk-doc</systemitem></title>
|
||||
@@ -532,9 +519,17 @@ How to compile GTK+ itself
|
||||
<para>
|
||||
Toggles between the supported backends for GDK.
|
||||
The default is x11, unless the platform is Windows, in which
|
||||
case the default is win32. Other supported backends are
|
||||
the quartz backend for OS X, and the DirectFB backend
|
||||
for the Linux framebuffer.
|
||||
case the default is win32.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>--disable-shadowfb</systemitem> and
|
||||
<systemitem>--enable-shadowfb</systemitem></title>
|
||||
|
||||
<para>
|
||||
Toggles shadow framebuffer support for the linux-fb target,
|
||||
if selected.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
|
||||
@@ -42,6 +42,14 @@ $ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To compile a GTK+ program for the framebuffer, use the
|
||||
"gtk+-linux-fb-2.0" package name instead of "gtk+-2.0":
|
||||
<programlisting>
|
||||
$ cc `pkg-config --cflags --libs gtk+-linux-fb-2.0` hello.c -o hello
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you want to make sure that your program doesn't use any deprecated
|
||||
functions, you can define the preprocessor symbol GTK_DISABLE_DEPRECATED
|
||||
|
||||
@@ -31,10 +31,75 @@ system.
|
||||
<refsect2><title>Build requirements</title>
|
||||
|
||||
<para>
|
||||
Beyond the usual GTK+ build requirements, the DirectFB backend (obviously)
|
||||
needs the DirectFB libraries (at least 0.9.21) and cairo compiled with
|
||||
DirectFB support.
|
||||
Beyond the usual GTK+ build requirements, the DirectFB backend (obviously) needs
|
||||
the DirectFB libraries (at least 0.9.21) and Cairo compiled with DirectFB support.
|
||||
</para>
|
||||
|
||||
</refsect2>
|
||||
|
||||
<!--
|
||||
FIXME: it seems most of the options listed in _gdk_windowing_args
|
||||
are ignored, and they need to be described by somebody who knows
|
||||
what they are supposed to do...
|
||||
|
||||
<refsect2><title>DirectFB-specific commandline options</title>
|
||||
|
||||
<para>
|
||||
The DirectFB GDB backend can be influenced with some additional
|
||||
command line arguments.
|
||||
</para>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>dfb-help</systemitem></title>
|
||||
<para>
|
||||
Display help for DirectFB-specific commandline options.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>dfb=<replaceable>value</replaceable></systemitem></title>
|
||||
<para>
|
||||
Possible values: sdl, system.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>disable-aa-fonts=<replaceable>number</replaceable></systemitem></title>
|
||||
<para>
|
||||
If <replaceable>number</replaceable> is 1, disable antialising for fonts.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>argb-font=<replaceable>number</replaceable></systemitem></title>
|
||||
<para>
|
||||
If <replaceable>number</replaceable> is 1, enable ARGB fonts.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>transparent-unfocused=<replaceable>number</replaceable></systemitem></title>
|
||||
<para>
|
||||
If <replaceable>number</replaceable> is 1, make unfocused windows transparent.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>glyph-surface-cache=<replaceable>number</replaceable></systemitem></title>
|
||||
<para>
|
||||
Set the size of the glyph surface cache. The default value is 8.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
<formalpara>
|
||||
<title><systemitem>enable-color-keyring=<replaceable>number</replaceable></systemitem></title>
|
||||
<para>
|
||||
If <replaceable>number</replaceable> is 1, turn on the color keyring.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
-->
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
@@ -95,17 +95,6 @@
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id="ellipsization">
|
||||
<glossdef>
|
||||
<para>
|
||||
Ellipsization is the process of replacing some part
|
||||
of a text by an ellipsis (usually "...") to make the
|
||||
text fit in a smaller space. Pango can ellipsize text
|
||||
at the beginning, at the end or in the middle.
|
||||
</para>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry id="event">
|
||||
<glossterm>event</glossterm>
|
||||
<glossdef>
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
<!ENTITY GtkBin SYSTEM "xml/gtkbin.xml">
|
||||
<!ENTITY GtkBox SYSTEM "xml/gtkbox.xml">
|
||||
<!ENTITY GtkButton SYSTEM "xml/gtkbutton.xml">
|
||||
<!ENTITY GtkBuildable SYSTEM "xml/gtkbuildable.xml">
|
||||
<!ENTITY GtkBuilder SYSTEM "xml/gtkbuilder.xml">
|
||||
<!ENTITY GtkCalendar SYSTEM "xml/gtkcalendar.xml">
|
||||
<!ENTITY GtkCheckButton SYSTEM "xml/gtkcheckbutton.xml">
|
||||
<!ENTITY GtkCheckMenuItem SYSTEM "xml/gtkcheckmenuitem.xml">
|
||||
@@ -37,7 +35,6 @@
|
||||
<!ENTITY GtkEntryCompletion SYSTEM "xml/gtkentrycompletion.xml">
|
||||
<!ENTITY GtkEventBox SYSTEM "xml/gtkeventbox.xml">
|
||||
<!ENTITY GtkExpander SYSTEM "xml/gtkexpander.xml">
|
||||
<!ENTITY GtkExtendedLayout SYSTEM "xml/gtkextendedlayout.xml">
|
||||
<!ENTITY GtkFileChooser SYSTEM "xml/gtkfilechooser.xml">
|
||||
<!ENTITY GtkFileChooserButton SYSTEM "xml/gtkfilechooserbutton.xml">
|
||||
<!ENTITY GtkFileChooserDialog SYSTEM "xml/gtkfilechooserdialog.xml">
|
||||
@@ -109,10 +106,8 @@
|
||||
<!ENTITY GtkRecentChooserWidget SYSTEM "xml/gtkrecentchooserwidget.xml">
|
||||
<!ENTITY GtkRecentFilter SYSTEM "xml/gtkrecentfilter.xml">
|
||||
<!ENTITY GtkRecentManager SYSTEM "xml/gtkrecentmanager.xml">
|
||||
<!ENTITY GtkRecentAction SYSTEM "xml/gtkrecentaction.xml">
|
||||
<!ENTITY GtkRuler SYSTEM "xml/gtkruler.xml">
|
||||
<!ENTITY GtkScale SYSTEM "xml/gtkscale.xml">
|
||||
<!ENTITY GtkScaleButton SYSTEM "xml/gtkscalebutton.xml">
|
||||
<!ENTITY GtkScrollbar SYSTEM "xml/gtkscrollbar.xml">
|
||||
<!ENTITY GtkScrolledWindow SYSTEM "xml/gtkscrolledwindow.xml">
|
||||
<!ENTITY GtkSeparator SYSTEM "xml/gtkseparator.xml">
|
||||
@@ -140,7 +135,6 @@
|
||||
<!ENTITY GtkToolButton SYSTEM "xml/gtktoolbutton.xml">
|
||||
<!ENTITY GtkToolItem SYSTEM "xml/gtktoolitem.xml">
|
||||
<!ENTITY GtkTooltips SYSTEM "xml/gtktooltips.xml">
|
||||
<!ENTITY GtkTooltip SYSTEM "xml/gtktooltip.xml">
|
||||
<!ENTITY GtkTree SYSTEM "xml/gtktree.xml">
|
||||
<!ENTITY GtkTreeItem SYSTEM "xml/gtktreeitem.xml">
|
||||
<!ENTITY GtkTreeModel SYSTEM "xml/gtktreemodel.xml">
|
||||
@@ -168,7 +162,6 @@
|
||||
<!ENTITY GtkVButtonBox SYSTEM "xml/gtkvbbox.xml">
|
||||
<!ENTITY GtkVBox SYSTEM "xml/gtkvbox.xml">
|
||||
<!ENTITY GtkViewport SYSTEM "xml/gtkviewport.xml">
|
||||
<!ENTITY GtkVolumeButton SYSTEM "xml/gtkvolumebutton.xml">
|
||||
<!ENTITY GtkVPaned SYSTEM "xml/gtkvpaned.xml">
|
||||
<!ENTITY GtkVRuler SYSTEM "xml/gtkvruler.xml">
|
||||
<!ENTITY GtkVScale SYSTEM "xml/gtkvscale.xml">
|
||||
@@ -209,6 +202,7 @@
|
||||
<!ENTITY gtk-Running SYSTEM "running.sgml">
|
||||
<!ENTITY gtk-Resources SYSTEM "resources.sgml">
|
||||
<!ENTITY gtk-Windows SYSTEM "windows.sgml">
|
||||
<!ENTITY gtk-Framebuffer SYSTEM "framebuffer.sgml">
|
||||
<!ENTITY gtk-X11 SYSTEM "x11.sgml">
|
||||
<!ENTITY gtk-OSX SYSTEM "osx.sgml">
|
||||
<!ENTITY gtk-DirectFB SYSTEM "directfb.sgml">
|
||||
@@ -266,31 +260,38 @@ string utilities, file utilities, a main loop abstraction, and so on.
|
||||
<varlistentry>
|
||||
<term>Pango</term>
|
||||
<listitem><para>
|
||||
|
||||
Pango is a library for internationalized text handling. It centers
|
||||
around the #PangoLayout object, representing a paragraph of text.
|
||||
Pango provides the engine for #GtkTextView, #GtkLabel, #GtkEntry, and
|
||||
around the <link linkend="PangoLayout">PangoLayout</link> object, representing
|
||||
a paragraph of text.
|
||||
Pango provides the engine for <link linkend="GtkTextView">GtkTextView</link>,
|
||||
<link linkend="GtkLabel">GtkLabel</link>,
|
||||
<link linkend="GtkEntry">GtkEntry</link>, and
|
||||
other widgets that display text.
|
||||
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ATK</term>
|
||||
<listitem><para>
|
||||
|
||||
ATK is the Accessibility Toolkit. It provides a set of generic
|
||||
interfaces allowing accessibility technologies to interact with a
|
||||
graphical user interface. For example, a screen reader uses ATK to
|
||||
discover the text in an interface and read it to blind users. GTK+
|
||||
widgets have built-in support for accessibility using the ATK
|
||||
framework.
|
||||
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>GdkPixbuf</term>
|
||||
<listitem><para>
|
||||
This is a small library which allows you to create #GdkPixbuf
|
||||
This is a small library which allows you to create <link linkend="GdkPixbuf">GdkPixbuf</link>
|
||||
("pixel buffer") objects from image data or image files.
|
||||
Use a #GdkPixbuf in combination with #GtkImage to display images.
|
||||
Use a <link linkend="GdkPixbuf">GdkPixbuf</link> in combination with <link linkend="GtkImage">GtkImage</link> to display images.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
@@ -306,8 +307,11 @@ on X11, Windows, and the Linux framebuffer device.
|
||||
<varlistentry>
|
||||
<term>GTK+</term>
|
||||
<listitem><para>
|
||||
|
||||
The GTK+ library itself contains <firstterm>widgets</firstterm>,
|
||||
that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
that is, GUI components such as <link linkend="GtkButton">GtkButton</link> or
|
||||
<link linkend="GtkTextView">GtkTextView</link>.
|
||||
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -320,6 +324,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
>k-Windows;
|
||||
>k-OSX;
|
||||
>k-DirectFB;
|
||||
>k-Framebuffer;
|
||||
>k-Resources;
|
||||
>k-Questions;
|
||||
</part>
|
||||
@@ -388,8 +393,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkRadioButton;
|
||||
&GtkToggleButton;
|
||||
&GtkLinkButton;
|
||||
&GtkScaleButton;
|
||||
&GtkVolumeButton;
|
||||
</chapter>
|
||||
|
||||
<chapter id="NumericEntry">
|
||||
@@ -447,6 +450,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkMenu;
|
||||
&GtkMenuBar;
|
||||
&GtkMenuItem;
|
||||
&GtkMenuShell;
|
||||
&GtkImageMenuItem;
|
||||
&GtkRadioMenuItem;
|
||||
&GtkCheckMenuItem;
|
||||
@@ -468,7 +472,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkAction;
|
||||
&GtkToggleAction;
|
||||
&GtkRadioAction;
|
||||
&GtkRecentAction;
|
||||
</chapter>
|
||||
|
||||
<chapter id="SelectorWidgets">
|
||||
@@ -543,7 +546,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkIMContextSimple;
|
||||
&GtkIMMulticontext;
|
||||
&GtkSizeGroup;
|
||||
&GtkTooltip;
|
||||
&GtkTooltips;
|
||||
&GtkViewport;
|
||||
&GtkAccessible;
|
||||
@@ -555,9 +557,7 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkBox;
|
||||
&GtkButtonBox;
|
||||
&GtkContainer;
|
||||
&GtkExtendedLayout;
|
||||
&GtkItem;
|
||||
&GtkMenuShell;
|
||||
&GtkMisc;
|
||||
&GtkObject;
|
||||
&GtkPaned;
|
||||
@@ -594,12 +594,6 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
&GtkRecentFilter;
|
||||
</chapter>
|
||||
|
||||
<chapter id="Builder">
|
||||
<title>Interface builder</title>
|
||||
&GtkBuildable;
|
||||
&GtkBuilder;
|
||||
</chapter>
|
||||
|
||||
<chapter id="DeprecatedObjects">
|
||||
<title>Deprecated</title>
|
||||
&GtkCList;
|
||||
@@ -677,8 +671,5 @@ that is, GUI components such as #GtkButton or #GtkTextView.
|
||||
<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>
|
||||
|
||||
@@ -8,8 +8,6 @@ GtkAboutDialog
|
||||
gtk_about_dialog_new
|
||||
gtk_about_dialog_get_name
|
||||
gtk_about_dialog_set_name
|
||||
gtk_about_dialog_get_program_name
|
||||
gtk_about_dialog_set_program_name
|
||||
gtk_about_dialog_get_version
|
||||
gtk_about_dialog_set_version
|
||||
gtk_about_dialog_get_copyright
|
||||
@@ -180,7 +178,6 @@ gtk_action_activate
|
||||
gtk_action_create_icon
|
||||
gtk_action_create_menu_item
|
||||
gtk_action_create_tool_item
|
||||
gtk_action_create_menu
|
||||
gtk_action_connect_proxy
|
||||
gtk_action_disconnect_proxy
|
||||
gtk_action_get_proxies
|
||||
@@ -431,75 +428,6 @@ GTK_BOX_GET_CLASS
|
||||
gtk_box_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkvscrollbar</FILE>
|
||||
<TITLE>GtkVScrollbar</TITLE>
|
||||
GtkVScrollbar
|
||||
gtk_vscrollbar_new
|
||||
<SUBSECTION Standard>
|
||||
GTK_VSCROLLBAR
|
||||
GTK_IS_VSCROLLBAR
|
||||
GTK_TYPE_VSCROLLBAR
|
||||
gtk_vscrollbar_get_type
|
||||
GTK_VSCROLLBAR_CLASS
|
||||
GTK_IS_VSCROLLBAR_CLASS
|
||||
GTK_VSCROLLBAR_GET_CLASS
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkbuildable</FILE>
|
||||
GtkBuildable
|
||||
GtkBuildableIface
|
||||
gtk_buildable_set_name
|
||||
gtk_buildable_get_name
|
||||
gtk_buildable_add
|
||||
gtk_buildable_set_property
|
||||
gtk_buildable_construct_child
|
||||
gtk_buildable_custom_tag_start
|
||||
gtk_buildable_custom_tag_end
|
||||
gtk_buildable_custom_finished
|
||||
gtk_buildable_parser_finished
|
||||
gtk_buildable_get_internal_child
|
||||
<SUBSECTION Standard>
|
||||
GTK_BUILDABLE
|
||||
GTK_IS_BUILDABLE
|
||||
GTK_TYPE_BUILDABLE
|
||||
gtk_buildable_get_type
|
||||
GTK_BUILDABLE_CLASS
|
||||
GTK_BUILDABLE_GET_IFACE
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkbuilder</FILE>
|
||||
<TITLE>GtkBuilder</TITLE>
|
||||
GtkBuilder
|
||||
GtkBuilderConnectFunc
|
||||
gtk_builder_new
|
||||
gtk_builder_add_from_file
|
||||
gtk_builder_add_from_string
|
||||
gtk_builder_get_object
|
||||
gtk_builder_get_objects
|
||||
gtk_builder_connect_signals
|
||||
gtk_builder_connect_signals_full
|
||||
gtk_builder_set_translation_domain
|
||||
gtk_builder_get_translation_domain
|
||||
gtk_builder_get_type_from_name
|
||||
gtk_builder_value_from_string
|
||||
gtk_builder_value_from_string_type
|
||||
GTK_BUILDER_WARN_INVALID_CHILD_TYPE
|
||||
GTK_BUILDER_ERROR
|
||||
<SUBSECTION Standard>
|
||||
GTK_BUILDER
|
||||
GTK_IS_BUILDER
|
||||
GTK_TYPE_BUILDER
|
||||
GTK_BUILDER_CLASS
|
||||
GTK_IS_BUILDER_CLASS
|
||||
GTK_BUILDER_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
gtk_builder_get_type
|
||||
gtk_builder_error_quark
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkbutton</FILE>
|
||||
<TITLE>GtkButton</TITLE>
|
||||
@@ -1210,8 +1138,6 @@ gtk_entry_get_max_length
|
||||
gtk_entry_get_visibility
|
||||
gtk_entry_set_completion
|
||||
gtk_entry_get_completion
|
||||
gtk_entry_set_cursor_hadjustment
|
||||
gtk_entry_get_cursor_hadjustment
|
||||
<SUBSECTION Standard>
|
||||
GTK_ENTRY
|
||||
GTK_IS_ENTRY
|
||||
@@ -1236,7 +1162,6 @@ gtk_entry_completion_set_match_func
|
||||
gtk_entry_completion_set_minimum_key_length
|
||||
gtk_entry_completion_get_minimum_key_length
|
||||
gtk_entry_completion_complete
|
||||
gtk_entry_completion_get_completion_prefix
|
||||
gtk_entry_completion_insert_prefix
|
||||
gtk_entry_completion_insert_action_text
|
||||
gtk_entry_completion_insert_action_markup
|
||||
@@ -1245,8 +1170,6 @@ gtk_entry_completion_set_text_column
|
||||
gtk_entry_completion_get_text_column
|
||||
gtk_entry_completion_set_inline_completion
|
||||
gtk_entry_completion_get_inline_completion
|
||||
gtk_entry_completion_set_inline_selection
|
||||
gtk_entry_completion_get_inline_selection
|
||||
gtk_entry_completion_set_popup_completion
|
||||
gtk_entry_completion_get_popup_completion
|
||||
gtk_entry_completion_set_popup_set_width
|
||||
@@ -1315,26 +1238,6 @@ gtk_expander_get_type
|
||||
GtkExpanderPrivate
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkextendedlayout</FILE>
|
||||
<TITLE>GtkExtendedLayout</TITLE>
|
||||
GtkExtendedLayout
|
||||
GtkExtendedLayoutIface
|
||||
gtk_extended_layout_get_baselines
|
||||
gtk_extended_layout_get_features
|
||||
gtk_extended_layout_get_height_for_width
|
||||
gtk_extended_layout_get_natural_size
|
||||
gtk_extended_layout_get_width_for_height
|
||||
<SUBSECTION Standard>
|
||||
GTK_EXTENDED_LAYOUT
|
||||
GTK_EXTENDED_LAYOUT_CLASS
|
||||
GTK_EXTENDED_LAYOUT_GET_IFACE
|
||||
GTK_IS_EXTENDED_LAYOUT
|
||||
GTK_TYPE_EXTENDED_LAYOUT
|
||||
<SUBSECTION Private>
|
||||
gtk_extended_layout_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkfilechooser</FILE>
|
||||
<TITLE>GtkFileChooser</TITLE>
|
||||
@@ -2510,8 +2413,6 @@ gtk_notebook_get_tab_detachable
|
||||
gtk_notebook_set_current_page
|
||||
gtk_notebook_set_group_id
|
||||
gtk_notebook_get_group_id
|
||||
gtk_notebook_set_group
|
||||
gtk_notebook_get_group
|
||||
GtkNotebookWindowCreationFunc
|
||||
gtk_notebook_set_window_creation_hook
|
||||
<SUBSECTION Standard>
|
||||
@@ -2830,12 +2731,6 @@ gtk_radio_menu_item_get_type
|
||||
<FILE>gtkrange</FILE>
|
||||
<TITLE>GtkRange</TITLE>
|
||||
GtkRange
|
||||
gtk_range_get_fill_level
|
||||
gtk_range_get_restrict_to_fill_level
|
||||
gtk_range_get_show_fill_level
|
||||
gtk_range_set_fill_level
|
||||
gtk_range_set_restrict_to_fill_level
|
||||
gtk_range_set_show_fill_level
|
||||
gtk_range_get_adjustment
|
||||
gtk_range_set_update_policy
|
||||
gtk_range_set_adjustment
|
||||
@@ -3065,26 +2960,6 @@ GtkRecentManagerPrivate
|
||||
gtk_recent_manager_error_quark
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkrecentaction</FILE>
|
||||
<TITLE>GtkRecentAction</TITLE>
|
||||
GtkRecentAction
|
||||
gtk_recent_action_new
|
||||
gtk_recent_action_new_for_manager
|
||||
gtk_recent_action_get_show_numbers
|
||||
gtk_recent_action_set_show_numbers
|
||||
<SUBSECTION Standard>
|
||||
GTK_TYPE_RECENT_ACTION
|
||||
GTK_RECENT_ACTION
|
||||
GTK_IS_RECENT_ACTION
|
||||
GTK_RECENT_ACTION_CLASS
|
||||
GTK_IS_RECENT_ACTION_CLASS
|
||||
GTK_RECENT_ACTION_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
GtkRecentActionPrivate
|
||||
gtk_recent_action_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkruler</FILE>
|
||||
<TITLE>GtkRuler</TITLE>
|
||||
@@ -3131,27 +3006,6 @@ GTK_SCALE_GET_CLASS
|
||||
gtk_scale_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkscalebutton</FILE>
|
||||
<TITLE>GtkScaleButton</TITLE>
|
||||
GtkScaleButton
|
||||
gtk_scale_button_new
|
||||
gtk_scale_button_set_adjustment
|
||||
gtk_scale_button_set_icons
|
||||
gtk_scale_button_set_value
|
||||
gtk_scale_button_get_adjustment
|
||||
gtk_scale_button_get_value
|
||||
<SUBSECTION Standard>
|
||||
GTK_SCALE_BUTTON
|
||||
GTK_IS_SCALE_BUTTON
|
||||
GTK_TYPE_SCALE_BUTTON
|
||||
GTK_SCALE_BUTTON_CLASS
|
||||
GTK_IS_SCALE_BUTTON_CLASS
|
||||
GTK_SCALE_BUTTON_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
gtk_scale_button_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkscrollbar</FILE>
|
||||
<TITLE>GtkScrollbar</TITLE>
|
||||
@@ -3386,8 +3240,6 @@ gtk_status_icon_get_pixbuf
|
||||
gtk_status_icon_get_stock
|
||||
gtk_status_icon_get_icon_name
|
||||
gtk_status_icon_get_size
|
||||
gtk_status_icon_set_screen
|
||||
gtk_status_icon_get_screen
|
||||
gtk_status_icon_set_tooltip
|
||||
gtk_status_icon_set_visible
|
||||
gtk_status_icon_get_visible
|
||||
@@ -3522,7 +3374,6 @@ gtk_text_buffer_create_child_anchor
|
||||
gtk_text_buffer_create_mark
|
||||
gtk_text_buffer_move_mark
|
||||
gtk_text_buffer_move_mark_by_name
|
||||
gtk_text_buffer_add_mark
|
||||
gtk_text_buffer_delete_mark
|
||||
gtk_text_buffer_delete_mark_by_name
|
||||
gtk_text_buffer_get_mark
|
||||
@@ -3709,7 +3560,6 @@ gtk_text_iter_get_type
|
||||
<FILE>gtktextmark</FILE>
|
||||
<TITLE>GtkTextMark</TITLE>
|
||||
GtkTextMark
|
||||
gtk_text_mark_new
|
||||
gtk_text_mark_set_visible
|
||||
gtk_text_mark_get_visible
|
||||
gtk_text_mark_get_deleted
|
||||
@@ -3863,6 +3713,8 @@ GTK_TEXT_CHILD_ANCHOR_GET_CLASS
|
||||
gtk_text_view_get_type
|
||||
gtk_text_child_anchor_get_type
|
||||
GtkTextBTree
|
||||
GtkTextChildBody
|
||||
GtkTextPixbuf
|
||||
GtkTextWindow
|
||||
GtkTextPendingScroll
|
||||
</SECTION>
|
||||
@@ -4181,22 +4033,6 @@ GTK_TOOLTIPS_GET_CLASS
|
||||
gtk_tooltips_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtktooltip</FILE>
|
||||
<TITLE>GtkTooltip</TITLE>
|
||||
GtkTooltip
|
||||
gtk_tooltip_set_markup
|
||||
gtk_tooltip_set_text
|
||||
gtk_tooltip_set_icon
|
||||
gtk_tooltip_set_icon_from_stock
|
||||
gtk_tooltip_set_custom
|
||||
gtk_tooltip_trigger_tooltip_query
|
||||
<SUBSECTION Standard>
|
||||
GTK_TYPE_TOOLTIP
|
||||
<SUBSECTION Private>
|
||||
gtk_tooltip_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtktree</FILE>
|
||||
<TITLE>GtkTree</TITLE>
|
||||
@@ -4486,7 +4322,6 @@ gtk_tree_store_set_column_types
|
||||
gtk_tree_store_set_value
|
||||
gtk_tree_store_set
|
||||
gtk_tree_store_set_valist
|
||||
gtk_tree_store_set_valuesv
|
||||
gtk_tree_store_remove
|
||||
gtk_tree_store_insert
|
||||
gtk_tree_store_insert_before
|
||||
@@ -4570,7 +4405,6 @@ gtk_tree_view_column_cell_get_position
|
||||
gtk_tree_view_column_cell_is_visible
|
||||
gtk_tree_view_column_focus_cell
|
||||
gtk_tree_view_column_queue_resize
|
||||
gtk_tree_view_column_get_tree_view
|
||||
<SUBSECTION Standard>
|
||||
GTK_TREE_VIEW_COLUMN
|
||||
GTK_IS_TREE_VIEW_COLUMN
|
||||
@@ -4592,10 +4426,6 @@ GtkTreeViewColumnDropFunc
|
||||
GtkTreeViewMappingFunc
|
||||
GtkTreeViewSearchEqualFunc
|
||||
gtk_tree_view_new
|
||||
gtk_tree_view_get_level_indentation
|
||||
gtk_tree_view_get_show_expanders
|
||||
gtk_tree_view_set_level_indentation
|
||||
gtk_tree_view_set_show_expanders
|
||||
gtk_tree_view_new_with_model
|
||||
gtk_tree_view_get_model
|
||||
gtk_tree_view_set_model
|
||||
@@ -4645,12 +4475,6 @@ gtk_tree_view_get_visible_range
|
||||
gtk_tree_view_get_bin_window
|
||||
gtk_tree_view_widget_to_tree_coords
|
||||
gtk_tree_view_tree_to_widget_coords
|
||||
gtk_tree_view_convert_bin_window_to_tree_coords
|
||||
gtk_tree_view_convert_bin_window_to_widget_coords
|
||||
gtk_tree_view_convert_tree_to_bin_window_coords
|
||||
gtk_tree_view_convert_tree_to_widget_coords
|
||||
gtk_tree_view_convert_widget_to_bin_window_coords
|
||||
gtk_tree_view_convert_widget_to_tree_coords
|
||||
gtk_tree_view_enable_model_drag_dest
|
||||
gtk_tree_view_enable_model_drag_source
|
||||
gtk_tree_view_unset_rows_drag_source
|
||||
@@ -4736,7 +4560,6 @@ GtkCellLayoutIface
|
||||
GtkCellLayoutDataFunc
|
||||
gtk_cell_layout_pack_start
|
||||
gtk_cell_layout_pack_end
|
||||
gtk_cell_layout_get_cells
|
||||
gtk_cell_layout_reorder
|
||||
gtk_cell_layout_clear
|
||||
gtk_cell_layout_set_attributes
|
||||
@@ -4927,7 +4750,6 @@ gtk_list_store_set_column_types
|
||||
gtk_list_store_set
|
||||
gtk_list_store_set_valist
|
||||
gtk_list_store_set_value
|
||||
gtk_list_store_set_valuesv
|
||||
gtk_list_store_remove
|
||||
gtk_list_store_insert
|
||||
gtk_list_store_insert_before
|
||||
@@ -5011,22 +4833,6 @@ GTK_VIEWPORT_GET_CLASS
|
||||
gtk_viewport_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkvolumebutton</FILE>
|
||||
<TITLE>GtkVolumeButton</TITLE>
|
||||
GtkVolumeButton
|
||||
gtk_volume_button_new
|
||||
<SUBSECTION Standard>
|
||||
GTK_VOLUME_BUTTON
|
||||
GTK_IS_VOLUME_BUTTON
|
||||
GTK_TYPE_VOLUME_BUTTON
|
||||
GTK_VOLUME_BUTTON_CLASS
|
||||
GTK_IS_VOLUME_BUTTON_CLASS
|
||||
GTK_VOLUME_BUTTON_GET_CLASS
|
||||
<SUBSECTION Private>
|
||||
gtk_volume_button_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkvpaned</FILE>
|
||||
<TITLE>GtkVPaned</TITLE>
|
||||
@@ -5234,7 +5040,6 @@ gtk_widget_modify_bg
|
||||
gtk_widget_modify_text
|
||||
gtk_widget_modify_base
|
||||
gtk_widget_modify_font
|
||||
gtk_widget_modify_cursor
|
||||
gtk_widget_create_pango_context
|
||||
gtk_widget_get_pango_context
|
||||
gtk_widget_create_pango_layout
|
||||
@@ -5287,15 +5092,6 @@ gtk_widget_add_mnemonic_label
|
||||
gtk_widget_remove_mnemonic_label
|
||||
gtk_widget_get_action
|
||||
gtk_widget_is_composited
|
||||
gtk_widget_error_bell
|
||||
gtk_widget_keynav_failed
|
||||
gtk_widget_get_tooltip_markup
|
||||
gtk_widget_set_tooltip_markup
|
||||
gtk_widget_get_tooltip_text
|
||||
gtk_widget_set_tooltip_text
|
||||
gtk_widget_get_tooltip_window
|
||||
gtk_widget_set_tooltip_window
|
||||
gtk_widget_trigger_tooltip_query
|
||||
<SUBSECTION>
|
||||
gtk_requisition_copy
|
||||
gtk_requisition_free
|
||||
@@ -5375,8 +5171,6 @@ gtk_window_set_skip_pager_hint
|
||||
gtk_window_set_urgency_hint
|
||||
gtk_window_set_accept_focus
|
||||
gtk_window_set_focus_on_map
|
||||
gtk_window_set_startup_id
|
||||
gtk_window_set_role
|
||||
gtk_window_get_decorated
|
||||
gtk_window_get_deletable
|
||||
gtk_window_get_default_icon_list
|
||||
@@ -5414,8 +5208,6 @@ gtk_window_set_icon_list
|
||||
gtk_window_set_icon_from_file
|
||||
gtk_window_set_icon_name
|
||||
gtk_window_set_auto_startup_notification
|
||||
gtk_window_get_opacity
|
||||
gtk_window_set_opacity
|
||||
<SUBSECTION Standard>
|
||||
GTK_WINDOW
|
||||
GTK_IS_WINDOW
|
||||
@@ -5424,6 +5216,12 @@ GTK_WINDOW_CLASS
|
||||
GTK_IS_WINDOW_CLASS
|
||||
GTK_WINDOW_GET_CLASS
|
||||
|
||||
<SUBSECTION>
|
||||
gtk_decorated_window_init
|
||||
gtk_decorated_window_calculate_frame_size
|
||||
gtk_decorated_window_set_title
|
||||
gtk_decorated_window_move_resize_window
|
||||
|
||||
<SUBSECTION Private>
|
||||
gtk_window_get_type
|
||||
GtkWindowGeometryInfo
|
||||
@@ -5647,6 +5445,19 @@ gtk_style_get_type
|
||||
gtk_border_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkthemes</FILE>
|
||||
<TITLE>Themes</TITLE>
|
||||
<SUBSECTION Private>
|
||||
GtkThemeEngine
|
||||
gtk_theme_engine_get
|
||||
gtk_theme_engine_create_rc_style
|
||||
GTK_THEME_ENGINE
|
||||
GTK_IS_THEME_ENGINE
|
||||
GTK_TYPE_THEME_ENGINE
|
||||
gtk_theme_engine_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>gtkrc</FILE>
|
||||
<TITLE>Resource Files</TITLE>
|
||||
@@ -5668,7 +5479,6 @@ gtk_rc_add_default_file
|
||||
gtk_rc_get_default_files
|
||||
gtk_rc_set_default_files
|
||||
gtk_rc_parse_color
|
||||
gtk_rc_parse_color_full
|
||||
gtk_rc_parse_state
|
||||
gtk_rc_parse_priority
|
||||
gtk_rc_find_module_in_path
|
||||
@@ -5980,20 +5790,19 @@ GtkBindingSet
|
||||
GtkBindingEntry
|
||||
GtkBindingSignal
|
||||
GtkBindingArg
|
||||
gtk_binding_entry_add
|
||||
gtk_binding_entry_add_signall
|
||||
gtk_binding_entry_clear
|
||||
gtk_binding_parse_binding
|
||||
gtk_binding_set_new
|
||||
gtk_binding_set_by_class
|
||||
gtk_binding_set_find
|
||||
gtk_bindings_activate
|
||||
gtk_bindings_activate_event
|
||||
gtk_binding_set_activate
|
||||
gtk_binding_entry_add
|
||||
gtk_binding_entry_clear
|
||||
gtk_binding_entry_add_signal
|
||||
gtk_binding_entry_skip
|
||||
gtk_binding_entry_remove
|
||||
gtk_binding_set_add_path
|
||||
gtk_binding_entry_remove
|
||||
gtk_binding_entry_add_signall
|
||||
gtk_binding_parse_binding
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
@@ -6038,7 +5847,6 @@ GtkVisibility
|
||||
GtkWindowPosition
|
||||
GtkWindowType
|
||||
GtkSortType
|
||||
GtkDragResult
|
||||
|
||||
<SUBSECTION Private>
|
||||
GtkMenuCallback
|
||||
@@ -6078,7 +5886,6 @@ GTK_STOCK_DIALOG_INFO
|
||||
GTK_STOCK_DIALOG_QUESTION
|
||||
GTK_STOCK_DIALOG_WARNING
|
||||
GTK_STOCK_DIRECTORY
|
||||
GTK_STOCK_DISCARD
|
||||
GTK_STOCK_DISCONNECT
|
||||
GTK_STOCK_DND
|
||||
GTK_STOCK_DND_MULTIPLE
|
||||
@@ -6178,9 +5985,7 @@ gtk_icon_theme_prepend_search_path
|
||||
gtk_icon_theme_set_custom_theme
|
||||
gtk_icon_theme_has_icon
|
||||
gtk_icon_theme_lookup_icon
|
||||
gtk_icon_theme_choose_icon
|
||||
gtk_icon_theme_load_icon
|
||||
gtk_icon_theme_list_contexts
|
||||
gtk_icon_theme_list_icons
|
||||
gtk_icon_theme_get_icon_sizes
|
||||
gtk_icon_theme_get_example_icon_name
|
||||
@@ -6362,7 +6167,7 @@ GTK_PRINT_UNIX_DIALOG_CLASS
|
||||
GTK_IS_PRINT_UNIX_DIALOG
|
||||
GTK_IS_PRINT_UNIX_DIALOG_CLASS
|
||||
GTK_PRINT_UNIX_DIALOG_GET_CLASS
|
||||
GTK_TYPE_PRINT_CAPABILITIES
|
||||
|
||||
<SUBSECTION Private>
|
||||
GtkPrintUnixDialogPrivate
|
||||
gtk_print_unix_dialog_get_type
|
||||
@@ -6388,11 +6193,7 @@ gtk_printer_is_virtual
|
||||
gtk_printer_is_default
|
||||
gtk_printer_accepts_ps
|
||||
gtk_printer_accepts_pdf
|
||||
gtk_printer_list_papers
|
||||
gtk_printer_compare
|
||||
gtk_printer_has_details
|
||||
gtk_printer_request_details
|
||||
gtk_printer_get_capabilities
|
||||
GtkPrinterFunc
|
||||
gtk_enumerate_printers
|
||||
|
||||
@@ -6509,11 +6310,6 @@ GTK_PRINT_SETTINGS_OUTPUT_URI
|
||||
GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA
|
||||
GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION
|
||||
|
||||
<SUBSECTION Serialization>
|
||||
gtk_print_settings_new_from_file
|
||||
gtk_print_settings_new_from_key_file
|
||||
gtk_print_settings_to_file
|
||||
gtk_print_settings_to_key_file
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GTK_TYPE_PRINT_SETTINGS
|
||||
@@ -6543,7 +6339,6 @@ gtk_paper_size_new_custom
|
||||
gtk_paper_size_copy
|
||||
gtk_paper_size_free
|
||||
gtk_paper_size_is_equal
|
||||
gtk_paper_size_get_paper_sizes
|
||||
gtk_paper_size_get_name
|
||||
gtk_paper_size_get_display_name
|
||||
gtk_paper_size_get_ppd_name
|
||||
@@ -6557,10 +6352,6 @@ gtk_paper_size_get_default_left_margin
|
||||
gtk_paper_size_get_default_right_margin
|
||||
gtk_paper_size_get_default
|
||||
|
||||
<SUBSECTION Serialization>
|
||||
gtk_paper_size_new_from_key_file
|
||||
gtk_paper_size_to_key_file
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GTK_TYPE_PAPER_SIZE
|
||||
<SUBSECTION Private>
|
||||
@@ -6592,12 +6383,6 @@ gtk_page_setup_get_paper_height
|
||||
gtk_page_setup_get_page_width
|
||||
gtk_page_setup_get_page_height
|
||||
|
||||
<SUBSECTION Serialization>
|
||||
gtk_page_setup_new_from_file
|
||||
gtk_page_setup_new_from_key_file
|
||||
gtk_page_setup_to_file
|
||||
gtk_page_setup_to_key_file
|
||||
|
||||
<SUBSECTION Standard>
|
||||
GTK_TYPE_PAGE_SETUP
|
||||
GTK_PAGE_SETUP
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
<arg choice="opt">--index-only</arg>
|
||||
<arg choice="opt">--source<arg>name</arg></arg>
|
||||
<arg choice="opt">--quiet</arg>
|
||||
<arg choice="opt">--validate</arg>
|
||||
<arg choice="req">iconpath</arg>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
@@ -81,13 +80,6 @@ multiple applications, the overall memory consumption is reduced as well.
|
||||
<listitem><para>Turn off verbose output.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>--validate</term>
|
||||
<term>-v</term>
|
||||
<listitem><para>Validate existing icon cache.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -18,8 +18,6 @@ gtk_aspect_frame_get_type
|
||||
gtk_assistant_get_type
|
||||
gtk_bin_get_type
|
||||
gtk_box_get_type
|
||||
gtk_builder_get_type
|
||||
gtk_buildable_get_type
|
||||
gtk_button_box_get_type
|
||||
gtk_button_get_type
|
||||
gtk_calendar_get_type
|
||||
@@ -54,7 +52,6 @@ gtk_entry_completion_get_type
|
||||
gtk_entry_get_type
|
||||
gtk_event_box_get_type
|
||||
gtk_expander_get_type
|
||||
gtk_extended_layout_get_type
|
||||
gtk_file_chooser_button_get_type
|
||||
gtk_file_chooser_dialog_get_type
|
||||
gtk_file_chooser_get_type
|
||||
@@ -125,14 +122,12 @@ gtk_radio_menu_item_get_type
|
||||
gtk_radio_tool_button_get_type
|
||||
gtk_range_get_type
|
||||
gtk_rc_style_get_type
|
||||
gtk_recent_action_get_type
|
||||
gtk_recent_chooser_get_type
|
||||
gtk_recent_chooser_dialog_get_type
|
||||
gtk_recent_chooser_menu_get_type
|
||||
gtk_recent_chooser_widget_get_type
|
||||
gtk_recent_manager_get_type
|
||||
gtk_ruler_get_type
|
||||
gtk_scale_button_get_type
|
||||
gtk_scale_get_type
|
||||
gtk_scrollbar_get_type
|
||||
gtk_scrolled_window_get_type
|
||||
@@ -180,7 +175,6 @@ gtk_ui_manager_get_type
|
||||
gtk_vbox_get_type
|
||||
gtk_vbutton_box_get_type
|
||||
gtk_viewport_get_type
|
||||
gtk_volume_button_get_type
|
||||
gtk_vpaned_get_type
|
||||
gtk_vruler_get_type
|
||||
gtk_vscale_get_type
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 KiB |
@@ -3,9 +3,8 @@
|
||||
<title>Migrating from GnomeAbout to GtkAboutDialog</title>
|
||||
|
||||
<para>
|
||||
Since version 2.6, GTK+ provides the #GtkAboutDialog widget as a
|
||||
replacement for the <structname>GnomeAbout</structname> dialog in
|
||||
the libgnomeui library.
|
||||
Since version 2.6, GTK+ provides the #GtkAboutDialog widget as a replacement for
|
||||
the <structname>GnomeAbout</structname> dialog in the libgnomeui library.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -56,8 +55,8 @@
|
||||
g_object_unref (pixbuf);
|
||||
</programlisting></informalexample>
|
||||
If the g_object_new() construction scares you, you can also use
|
||||
gtk_about_dialog_new() to construct the dialog and then use the
|
||||
setters for the individual properties.
|
||||
gtk_about_dialog_new() to construct the dialog and then use the setters for
|
||||
the individual properties.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -67,15 +66,17 @@
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
You can specify license information with the
|
||||
#GtkAboutDialog:license property
|
||||
<link linkend="GtkAboutDialog--license">license</link> property
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
You can add separate credits for artists with the
|
||||
#GtkAboutDialog:artists property
|
||||
<link linkend="GtkAboutDialog--artists">artists</link> property
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
You can add a pointer to the website of your application, using the
|
||||
#GtkAboutDialog:website and #GtkAboutDialog:website-label properties.
|
||||
<link linkend="GtkAboutDialog--website">website</link> and
|
||||
<link linkend="GtkAboutDialog--website-label">website-label</link>
|
||||
properties.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
If your credits contain email addresses or URLs, you can turn them
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
|
||||
<para>
|
||||
Normal actions are simply commands, such as
|
||||
<symbol>FileSave</symbol> or <symbol>EditCopy</symbol>.
|
||||
Toggle actions can be active or inactive, such as
|
||||
<symbol>FileSave</symbol> or <symbol>EditCopy</symbol>. Toggle
|
||||
actions can be active or inactive, such as
|
||||
<symbol>FormatBold</symbol> or <symbol>ViewShowRulers</symbol>.
|
||||
Radio actions define a set of items for which one and only one
|
||||
can be active at a time, for example, {
|
||||
@@ -105,8 +105,8 @@
|
||||
pass back pointers to the widgets that got created. This means
|
||||
that the structures cannot simply be kept around if the program
|
||||
requires multiple instances of the user interface (e.g. several
|
||||
windows); each new invocation of gnome_app_fill_menu() would
|
||||
overwrite the widget fields of the structures.
|
||||
windows); each new invocation of gnome_app_fill_menu() would overwrite the
|
||||
widget fields of the structures.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -135,16 +135,15 @@
|
||||
actions, toggle actions, and radio actions, and then create
|
||||
a separate array of #GtkActionEntry structures
|
||||
for each group. This will allow you to create the necessary
|
||||
#GtkActionGroup objects. Note that this does not describe
|
||||
the actual "shape" that your menus and toolbars will have;
|
||||
it simply defines the set of commands that will appear in them.
|
||||
#GtkActionGroup objects. Note that this does not describe the actual
|
||||
"shape" that your menus and toolbars will have; it simply
|
||||
defines the set of commands that will appear in them.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Create an XML description of your menus and toolbars for use
|
||||
with #GtkUIManager. This defines the actual shape of the menus
|
||||
and toolbars.
|
||||
with #GtkUIManager. This defines the actual shape of the menus and toolbars.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@@ -157,10 +156,9 @@
|
||||
<para>
|
||||
If your GnomeUIInfo entries use GNOME_APP_PIXMAP_DATA or
|
||||
GNOME_APP_PIXMAP_FILENAME for pixmaps, you have to create a
|
||||
#GtkIconFactory, add it to the list of default factories, then
|
||||
create a #GtkIconSet for each of your own icons. Add the sets to
|
||||
the factory, and use the id in the #GtkActionEntry like a regular
|
||||
GTK+ stock id.
|
||||
#GtkIconFactory, add it to the list of default factories, then create a
|
||||
#GtkIconSet for each of your own icons. Add the sets to the factory, and
|
||||
use the id in the #GtkActionEntry like a regular GTK+ stock id.
|
||||
</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
@@ -170,8 +168,8 @@
|
||||
|
||||
<para>
|
||||
The following code shows a declaration of a simple menu bar to
|
||||
be used with gnome_app_fill_menu() or similar. The menu hierarchy i
|
||||
looks like this:
|
||||
be used with gnome_app_fill_menu() or similar. The menu hierarchy looks
|
||||
like this:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
@@ -15,15 +15,13 @@
|
||||
|
||||
<para>
|
||||
Since version 2.10, GTK+ provides the GtkAssistant widget as a replacement
|
||||
for the <structname>GnomeDruid</structname> widget in the libgnomeui
|
||||
library.
|
||||
for the <structname>GnomeDruid</structname> widget in the libgnomeui library.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Conceptually, both <structname>GtkAssistant</structname> and
|
||||
<structname>GnomeDruid</structname> do the same task, but there are
|
||||
several areas where the API has been completely redesigned, so this
|
||||
chapter covers the main changes between both widgets.
|
||||
Conceptually, both <structname>GtkAssistant</structname> and <structname>GnomeDruid</structname>
|
||||
do the same task, but there are several areas where the API has been completely
|
||||
redesigned, so this chapter covers the main changes between both widgets.
|
||||
</para>
|
||||
|
||||
<section id="inserting-pages">
|
||||
@@ -31,12 +29,10 @@
|
||||
|
||||
<para>
|
||||
<structname>GnomeDruid</structname> was implemented as a container for
|
||||
<structname>GnomeDruidPage</structname> abstract objects, which are
|
||||
implemented by the <structname>GnomeDruidPageEdge</structname> and
|
||||
<structname>GnomeDruidPageStandard</structname> widgets. Instead,
|
||||
<structname>GtkAssistant</structname> allows any widget to be a page,
|
||||
and implements per-page settings (such as page type or title) as
|
||||
child properties. So instead of:
|
||||
<structname>GnomeDruidPage</structname> abstract objects, which are implemented by the
|
||||
<structname>GnomeDruidPageEdge</structname> and <structname>GnomeDruidPageStandard</structname>
|
||||
widgets. Instead, <structname>GtkAssistant</structname> allows any widget to be a page, and implements
|
||||
per-page settings (such as page type or title) as child properties. So instead of:
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
editable case.
|
||||
The selection of the display style — menu or list —
|
||||
is no longer done at the API level, but has been made themeable via
|
||||
the style property #GtkComboBox:appearance.
|
||||
the style property
|
||||
<link linkend="GtkComboBox--appearance">GtkComboBox::appearance</link>.
|
||||
</para>
|
||||
|
||||
<section id="migrating-GtkOptionMenu">
|
||||
@@ -58,8 +59,8 @@ gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item");
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item");
|
||||
gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item");
|
||||
</programlisting></informalexample>
|
||||
In order to react to the user's selection, connect to the
|
||||
#GtkComboBox::changed signal and use gtk_combo_box_get_active()
|
||||
In order to react to the user's selection, connect to the "changed"
|
||||
signal on the combo box and use gtk_combo_box_get_active()
|
||||
to retrieve the index of the selected item.
|
||||
</para>
|
||||
|
||||
|
||||
@@ -11,15 +11,15 @@
|
||||
<para>
|
||||
Porting an application from <structname>GnomeHRef</structname> to
|
||||
#GtkLinkButton is very simple. #GtkLinkButton does not have a
|
||||
default action for #GtkButton::clicked signal. So instead of simply
|
||||
creating the widget
|
||||
default action for "clicked" signal. So instead of simply creating
|
||||
the widget
|
||||
<informalexample><programlisting>
|
||||
GtkWidget *button;
|
||||
|
||||
button = gnome_href_new (url, "");
|
||||
</programlisting></informalexample>
|
||||
you will have to handle the activation of the #GtkLinkButton, using
|
||||
the ::clicked signal for instance
|
||||
the "clicked" signal for instance
|
||||
<informalexample><programlisting>
|
||||
static void
|
||||
link_button_clicked_cb (GtkWidget *widget,
|
||||
|
||||
@@ -22,9 +22,11 @@
|
||||
</formalpara>
|
||||
|
||||
<para>
|
||||
The #GtkWidget::popup-menu signal instructs the widget for which
|
||||
it is emitted to create a context-sensitive popup menu. By default,
|
||||
the <link linkend="gtk-bindings">key binding mechanism</link> is set to
|
||||
The <link
|
||||
linkend="GtkWidget-popup-menu">GtkWidget::popup_menu</link>
|
||||
signal instructs the widget for which it is emitted to create a
|
||||
context-sensitive popup menu. By default, the <link
|
||||
linkend="gtk-bindings">key binding mechanism</link> is set to
|
||||
emit this signal when the
|
||||
<keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>
|
||||
or <keycap>Menu</keycap> keys are pressed while a widget has the
|
||||
@@ -75,8 +77,8 @@ do_popup_menu (GtkWidget *my_widget, GdkEventButton *event)
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
In your #GtkWidget::button-press-event handler, call this function
|
||||
when you need to pop up a menu:
|
||||
In your button_press handler, call this function when you
|
||||
need to pop up a menu:
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
@@ -97,7 +99,7 @@ my_widget_button_press_event_handler (GtkWidget *widget, GdkEventButton *event)
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Implement a handler for the #GtkWidget::popup-menu signal:
|
||||
Implement a handler for the popup_menu signal:
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
@@ -124,10 +126,10 @@ my_widget_popup_menu_handler (GtkWidget *widget)
|
||||
provide your own <link
|
||||
linkend="GtkMenuPositionFunc">menu-positioning function</link>
|
||||
in the case where the <parameter>event</parameter> is
|
||||
%NULL. This function should compute the desired position for
|
||||
a menu when it is invoked through the keyboard. For example,
|
||||
#GtkEntry aligns the top edge of its popup menu with the bottom
|
||||
edge of the entry.
|
||||
<constant>NULL</constant>. This function should compute the
|
||||
desired position for a menu when it is invoked through the
|
||||
keyboard. For example, #GtkEntry aligns the
|
||||
top edge of its popup menu with the bottom edge of the entry.
|
||||
</para>
|
||||
</note>
|
||||
|
||||
@@ -137,7 +139,8 @@ my_widget_popup_menu_handler (GtkWidget *widget)
|
||||
able to take the keyboard focus. In general, widgets should
|
||||
be fully usable through the keyboard and not just the mouse.
|
||||
The very first step of this is to ensure that your widget
|
||||
turns on the %GTK_CAN_FOCUS <link linkend="gtkwidgetflags">flag</link>.
|
||||
turns on the %GTK_CAN_FOCUS <link
|
||||
linkend="gtkwidgetflags">flag</link>.
|
||||
</para>
|
||||
</note>
|
||||
</section>
|
||||
@@ -179,7 +182,7 @@ my_widget_popup_menu_handler (GtkWidget *widget)
|
||||
|
||||
<para>
|
||||
Regions have an internal representation that is accessible as a
|
||||
list of rectangles. To turn the
|
||||
list of rectangles. To turn the
|
||||
<structfield>GdkEventExpose.region</structfield> field into such
|
||||
a list, use gdk_region_get_rectangles():
|
||||
</para>
|
||||
@@ -214,10 +217,12 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
|
||||
<formalpara>
|
||||
<title>Why</title>
|
||||
<para>
|
||||
With gtk_accelerator_get_default_mod_mask() you can test for
|
||||
modifier keys reliably; this way your key event handlers will
|
||||
work correctly even if <keycap>NumLock</keycap> or
|
||||
<keycap>CapsLock</keycap> are activated.
|
||||
With
|
||||
gtk_accelerator_get_default_mod_mask()
|
||||
you can test for modifier keys reliably; this way your key
|
||||
event handlers will work correctly even if
|
||||
<keycap>NumLock</keycap> or <keycap>CapsLock</keycap> are
|
||||
activated.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
@@ -226,14 +231,14 @@ my_widget_expose_event_handler (GtkWidget *widget, GdkEventExpose *event)
|
||||
<structfield>state</structfield> field is a bit mask which
|
||||
indicates the modifier state at the time the key was pressed.
|
||||
Modifiers are keys like <keycap>Control</keycap> and
|
||||
<keycap>NumLock</keycap>. When implementing a
|
||||
#GtkWidget::key-press-event handler, you should use
|
||||
gtk_accelerator_get_default_mod_mask() to
|
||||
<keycap>NumLock</keycap>. When implementing a <link
|
||||
linkend="GtkWidget-key-press-event">GtkWidget::key_press_event</link>
|
||||
handler, you should use gtk_accelerator_get_default_mod_mask() to
|
||||
test against modifier keys. This function returns a bit mask
|
||||
which encompasses all the modifiers which the user may be
|
||||
actively pressing, such as <keycap>Control</keycap>,
|
||||
<keycap>Shift</keycap>, and <keycap>Alt</keycap>, but ignores
|
||||
"innocuous" modifiers such as <keycap>NumLock</keycap> and
|
||||
"inocuous" modifiers such as <keycap>NumLock</keycap> and
|
||||
<keycap>CapsLock</keycap>.
|
||||
</para>
|
||||
|
||||
@@ -295,7 +300,8 @@ my_widget_key_press_event_handler (GtkWidget *widget, GdkEventKey *event)
|
||||
gtk_window_set_icon_name()) and images (see gtk_image_set_icon_name()).
|
||||
In GTK+ 2.8, you can also use named icons for drag-and-drop (see
|
||||
gtk_drag_source_set_icon_name()) and in treeview cells (see the
|
||||
#GtkCellRendererPixbuf:icon-name property).
|
||||
<link linkend="GtkCellRendererPixbuf--icon-name">icon_name</link>
|
||||
property of #GtkCellRendererPixbuf).
|
||||
</para>
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
@@ -59,7 +59,7 @@ See the <link linkend="gtk-resources">documentation on this topic</link>.
|
||||
|
||||
|
||||
<qandaentry>
|
||||
<question><para>How do I port from one GTK+
|
||||
<question><para>How do I port from one GTK+
|
||||
version to another?</para></question>
|
||||
|
||||
<answer>
|
||||
@@ -96,17 +96,17 @@ from functions?
|
||||
<answer>
|
||||
|
||||
<para>
|
||||
See the documentation for #GObject and #GtkObject. For #GObject note
|
||||
specifically g_object_ref() and g_object_unref(). #GtkObject is a subclass
|
||||
of #GObject so the same points apply, except that it has a "floating" state
|
||||
(explained in its documentation).
|
||||
See the documentation for #GObject and #GtkObject. For #GObject note specifically
|
||||
g_object_ref() and g_object_unref(). #GtkObject is a subclass of #GObject so the
|
||||
same points apply, except that it has a "floating" state (explained in its
|
||||
documentation).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For strings returned from functions, they will be declared "const" (using
|
||||
#G_CONST_RETURN) if they should not be freed. Non-const strings should be
|
||||
freed with g_free(). Arrays follow the same rule. (If you find an exception
|
||||
to the rules, please report a bug to <ulink
|
||||
#G_CONST_RETURN) if they should not be freed. Non-const strings should be freed
|
||||
with g_free(). Arrays follow the same rule. (If you find an exception to the rules,
|
||||
please report a bug to <ulink
|
||||
url="http://bugzilla.gnome.org">http://bugzilla.gnome.org</ulink>.)
|
||||
</para>
|
||||
|
||||
@@ -135,9 +135,8 @@ reference counting, not floating reference counting.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To to get this, you must acquire a reference to the widget and drop the
|
||||
floating reference (<quote>ref and sink</quote> in GTK+ parlance) after
|
||||
creating it:
|
||||
To to get this, you must acquire a reference to the widget and drop the floating
|
||||
reference (<quote>ref and sink</quote> in GTK+ parlance) after creating it:
|
||||
<informalexample><programlisting>
|
||||
foo = gtk_foo_new (<!-- -->);
|
||||
g_object_ref (foo);
|
||||
@@ -166,9 +165,10 @@ How do I use GTK+ with threads?
|
||||
<answer>
|
||||
|
||||
<para>
|
||||
This is covered in the <link linkend="gdk-Threads">GDK threads
|
||||
documentation</link>. See also the <link linkend="glib-Threads">GThread</link>
|
||||
documentation for portable threading primitives.
|
||||
This is covered in the
|
||||
<link linkend="gdk-Threads">GDK threads documentation</link>.
|
||||
See also the <link linkend="glib-Threads">GThread</link> documentation for portable
|
||||
threading primitives.
|
||||
</para>
|
||||
|
||||
</answer>
|
||||
@@ -184,8 +184,8 @@ How do I internationalize a GTK+ program?
|
||||
<para>
|
||||
Most people use <ulink url="http://www.gnu.org/software/gettext/">GNU
|
||||
gettext</ulink>, already required in order to install GLib. On a UNIX
|
||||
or Linux system with gettext installed, type <literal>info gettext</literal>
|
||||
to read the documentation.
|
||||
or Linux system with gettext installed, type <literal>info
|
||||
gettext</literal> to read the documentation.
|
||||
</para>
|
||||
<para>
|
||||
The short checklist on how to use gettext is: call bindtextdomain() so gettext
|
||||
@@ -199,17 +199,15 @@ follows for convenience:
|
||||
#define N_(x) x
|
||||
</programlisting>
|
||||
</informalexample>
|
||||
You use N_() (N stands for no-op) to mark a string for translation in a
|
||||
context where a function call to gettext() is not allowed, such as in an
|
||||
array initializer.
|
||||
You use N_() (N stands for no-op) to mark a string for translation in a context
|
||||
where a function call to gettext() is not allowed, such as in an array initializer.
|
||||
You eventually have to call gettext() on the string to actually fetch the
|
||||
translation. _() both marks the string for translation and actually
|
||||
translates it.
|
||||
translation. _() both marks the string for translation and actually translates it.
|
||||
</para>
|
||||
<para>
|
||||
Nowadays, GLib provides the common shorthand macros in the header file
|
||||
<filename>gi18n.h</filename>, so you don't have to define them yourself,
|
||||
just include that header.
|
||||
<filename>gi18n.h</filename>, so you don't have to define them yourself, just
|
||||
include that header.
|
||||
</para>
|
||||
<para>
|
||||
Code using these macros ends up looking like this:
|
||||
@@ -232,11 +230,10 @@ Code using these macros ends up looking like this:
|
||||
</informalexample>
|
||||
</para>
|
||||
<para>
|
||||
Libraries using gettext should use dgettext() instead of gettext(), which
|
||||
allows them to specify the translation domain each time they ask for a
|
||||
translation. Libraries should also avoid calling textdomain(), since they
|
||||
will be specifying the domain instead of using the default. For dgettext()
|
||||
the _() macro can be defined as:
|
||||
Libraries using gettext should use dgettext() instead of gettext(), which allows
|
||||
them to specify the translation domain each time they ask for a translation. Libraries
|
||||
should also avoid calling textdomain(), since they'll be specifying the domain instead
|
||||
of using the default.For dgettext() the _() macro can be defined as:
|
||||
<informalexample>
|
||||
<programlisting>
|
||||
#define _(x) dgettext ("MyDomain", x)
|
||||
@@ -244,9 +241,9 @@ the _() macro can be defined as:
|
||||
</informalexample>
|
||||
</para>
|
||||
<para>
|
||||
Again, GLib comes with the <filename>gi18n-lib.h</filename>, saving you the
|
||||
trouble of defining the macros by hand. The macros in that header expect the
|
||||
translation domain to be specified by the %GETTEXT_PACKAGE macro.
|
||||
Again, GLib comes with the <filename>gi18n-lib.h</filename>, saving you the trouble
|
||||
of defining the macros by hand. The macros in that header expect the translation
|
||||
domain to be specified by the %GETTEXT_PACKAGE macro.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -261,9 +258,10 @@ How do I use non-ASCII characters in GTK+ programs ?
|
||||
<answer>
|
||||
<para>
|
||||
GTK+ uses <ulink url="http://www.unicode.org">Unicode</ulink> (more exactly
|
||||
UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a sequence of
|
||||
one to six bytes and has a number of nice properties which make it a good
|
||||
choice for working with Unicode text in C programs:
|
||||
UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a
|
||||
sequence of one to six bytes and has a number of nice
|
||||
properties which make it a good choice for working with Unicode
|
||||
text in C programs:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
ASCII characters are encoded by their familiar ASCII codepoints.
|
||||
@@ -272,22 +270,21 @@ ASCII characters are encoded by their familiar ASCII codepoints.
|
||||
ASCII characters never appear as part of any other character.
|
||||
</para></listitem>
|
||||
<listitem><para>
|
||||
The zero byte doesn't occur as part of a character, so that UTF-8 strings
|
||||
can be manipulated with the usual C library functions for handling
|
||||
zero-terminated strings.
|
||||
The zero byte doesn't occur as part of a character, so that UTF-8 strings can
|
||||
be manipulated with the usual C library functions for
|
||||
handling zero-terminated strings.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
More information about Unicode and UTF-8 can be found in the
|
||||
<ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode i
|
||||
FAQ for Unix/Linux</ulink>.
|
||||
<ulink url="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ for Unix/Linux</ulink>.
|
||||
GLib provides functions for converting strings between UTF-8 and other
|
||||
encodings, see g_locale_to_utf8() and g_convert().
|
||||
encodings, see g_locale_to_utf8() and g_convert().
|
||||
</para>
|
||||
<para>
|
||||
Text coming from external sources (e.g. files or user input), has to be
|
||||
converted to UTF-8 before being handed over to GTK+. The following example
|
||||
writes the content of a IS0-8859-1 encoded text file to
|
||||
<literal>stdout</literal>:
|
||||
converted to UTF-8 before being handed over to GTK+. The
|
||||
following example writes the content of a IS0-8859-1 encoded text
|
||||
file to <literal>stdout</literal>:
|
||||
<informalexample><programlisting>
|
||||
gchar *text, *utf8_text;
|
||||
gsize length;
|
||||
@@ -311,7 +308,7 @@ else
|
||||
</para>
|
||||
<para>
|
||||
For string literals in the source code, there are several alternatives for
|
||||
handling non-ASCII content:
|
||||
handling non-ASCII content:
|
||||
<variablelist>
|
||||
<varlistentry><term>direct UTF-8</term>
|
||||
<listitem><para>
|
||||
@@ -337,9 +334,8 @@ very convenient. Be careful when mixing hexadecimal escapes with ordinary text;
|
||||
<listitem><para>
|
||||
If the string literals can be represented in an encoding which your toolchain
|
||||
can handle (e.g. IS0-8859-1), you can write your source files in that encoding
|
||||
and use g_convert() to convert the strings to UTF-8 at runtime. Note that this
|
||||
has some runtime overhead, so you may want to move the conversion out of inner
|
||||
loops.
|
||||
and use g_convert() to convert the strings to UTF-8 at runtime. Note that this has
|
||||
some runtime overhead, so you may want to move the conversion out of inner loops.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -368,7 +364,7 @@ There are two ways to approach this. The GTK+ header files use the subset
|
||||
of C that's also valid C++, so you can simply use the normal GTK+ API
|
||||
in a C++ program. Alternatively, you can use a "C++ binding"
|
||||
such as <ulink url="http://gtkmm.sourceforge.net/">gtkmm</ulink>
|
||||
which provides a native C++ API.
|
||||
which provides a C++-native API.
|
||||
</para>
|
||||
<para>
|
||||
When using GTK+ directly, keep in mind that only functions can be
|
||||
@@ -408,7 +404,7 @@ How do I use GTK+ with other non-C languages?
|
||||
<para>
|
||||
See the <ulink url="http://www.gtk.org/bindings.html">list of language
|
||||
bindings</ulink> on <ulink
|
||||
url="http://www.gtk.org">http://www.gtk.org</ulink>.
|
||||
url="http://www.gtk.org">http://www.gtk.org</ulink>.
|
||||
</para>
|
||||
|
||||
</answer>
|
||||
@@ -423,16 +419,15 @@ How do I load an image or animation from a file?
|
||||
<answer>
|
||||
|
||||
<para>
|
||||
To load an image file straight into a display widget, use
|
||||
gtk_image_new_from_file() <footnote><para> If the file load fails,
|
||||
gtk_image_new_from_file() will display no image graphic — to detect
|
||||
a failed load yourself, use gdk_pixbuf_new_from_file() directly, then
|
||||
gtk_image_new_from_pixbuf().</para></footnote>.
|
||||
To load an image for another purpose, use gdk_pixbuf_new_from_file(). To i
|
||||
load an animation, use gdk_pixbuf_animation_new_from_file().
|
||||
gdk_pixbuf_animation_new_from_file() can also load non-animated images, so
|
||||
use it in combination with gdk_pixbuf_animation_is_static_image() to load a
|
||||
file of unknown type.
|
||||
To load an image file straight into a display widget, use gtk_image_new_from_file()
|
||||
<footnote><para> If the file load fails, gtk_image_new_from_file() will display no
|
||||
image graphic — to detect a failed load yourself, use gdk_pixbuf_new_from_file()
|
||||
directly, then gtk_image_new_from_pixbuf().</para></footnote>.
|
||||
To load an image for another purpose, use gdk_pixbuf_new_from_file(). To load an
|
||||
animation, use gdk_pixbuf_animation_new_from_file().
|
||||
gdk_pixbuf_animation_new_from_file() can also load non-animated images, so use it
|
||||
in combination with gdk_pixbuf_animation_is_static_image() to load a file of unknown
|
||||
type.
|
||||
</para>
|
||||
<para>
|
||||
To load an image or animation file asynchronously (without blocking), use
|
||||
@@ -508,22 +503,21 @@ to the GNOME 2.0 platform</ulink>.
|
||||
<qandaentry>
|
||||
<question>
|
||||
<para>
|
||||
Why are types not registered if I use their <literal>GTK_TYPE_BLAH</literal>
|
||||
macro ?
|
||||
Why are types not registered if I use their <literal>GTK_TYPE_BLAH</literal> macro ?
|
||||
</para>
|
||||
</question>
|
||||
|
||||
<answer>
|
||||
<para>
|
||||
The <literal>GTK_TYPE_BLAH</literal> macros are defined as calls to
|
||||
<literal>gtk_blah_get_type()</literal>, and the <literal>_get_type()</literal> i
|
||||
functions are declared as %G_GNUC_CONST which allows the compiler to optimize
|
||||
<literal>gtk_blah_get_type()</literal>, and the <literal>_get_type()</literal> functions
|
||||
are declared as <literal>G_GNUC_CONST</literal> which allows the compiler to optimize
|
||||
the call away if it appears that the value is not being used.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A common workaround for this problem is to store the result in a volatile
|
||||
variable, which keeps the compiler from optimizing the call away.
|
||||
A common workaround for this problem is to store the result in a volatile variable,
|
||||
which keeps the compiler from optimizing the call away.
|
||||
<informalexample><programlisting>
|
||||
volatile GType dummy = GTK_TYPE_BLAH;
|
||||
</programlisting></informalexample>
|
||||
@@ -601,9 +595,9 @@ should use the #GtkTextView widget. Do not use the deprecated widget #GtkText
|
||||
in newly-written code, it has a number of problems that are best avoided.
|
||||
</para>
|
||||
<para>
|
||||
If you only have a small amount of text, #GtkLabel may also be appropriate
|
||||
of course. It can be made selectable with gtk_label_set_selectable(). For a
|
||||
single-line text entry, see #GtkEntry.
|
||||
If you only have a small amount of text, #GtkLabel may also be appropriate of course.
|
||||
It can be made selectable with gtk_label_set_selectable(). For a single-line text
|
||||
entry, see #GtkEntry.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -616,9 +610,9 @@ single-line text entry, see #GtkEntry.
|
||||
|
||||
<answer>
|
||||
<para>
|
||||
#GtkImage can display images in just about any format GTK+ understands.
|
||||
You can also use #GtkDrawingArea if you need to do something more complex,
|
||||
such as draw text or graphics over the top of the image.
|
||||
#GtkImage can display images in just about any format GTK+ understands. You can also
|
||||
use #GtkDrawingArea if you need to do something more complex, such as draw text or
|
||||
graphics over the top of the image.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -650,15 +644,14 @@ How do I change the color of a widget?
|
||||
<answer><para>
|
||||
See gtk_widget_modify_fg(), gtk_widget_modify_bg(), gtk_widget_modify_base(),
|
||||
and gtk_widget_modify_text(). See <link linkend="gtk-Resource-Files">GTK+
|
||||
resource files</link> for more discussion. You can also change widget color
|
||||
by installing a resource file and parsing it with gtk_rc_add_default_file().
|
||||
resource files</link> for more discussion. You can also change widget color by
|
||||
installing a resource file and parsing it with gtk_rc_add_default_file().
|
||||
The advantage of a resource file is that users can then override the
|
||||
color you've chosen.
|
||||
</para>
|
||||
|
||||
<para>To change the background color for widgets such as #GtkLabel that have
|
||||
no background, place them in a #GtkEventBox and set the background of the
|
||||
event box.
|
||||
<para>To change the background color for widgets such as #GtkLabel that have no
|
||||
background, place them in a #GtkEventBox and set the background of the event box.
|
||||
</para></answer>
|
||||
</qandaentry>
|
||||
|
||||
@@ -668,9 +661,9 @@ How do I change the font of a widget?
|
||||
</para></question>
|
||||
|
||||
<answer><para>
|
||||
This has several possible answers, depending on what exactly you want to
|
||||
achieve. One option is gtk_widget_modify_font(). Note that this function
|
||||
can be used to change only the font size, as in the following example:
|
||||
This has several possible answers, depending on what exactly you want to achieve.
|
||||
One option is gtk_widget_modify_font(). Note that this function can be used to
|
||||
change only the font size, as in the following example:
|
||||
<programlisting>
|
||||
PangoFontDesc *font_desc = pango_font_description_new (<!-- -->);
|
||||
pango_font_description_set_size (font_desc, 40);
|
||||
@@ -679,24 +672,23 @@ can be used to change only the font size, as in the following example:
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
If you want to make the text of a label larger, you can use
|
||||
gtk_label_set_markup():
|
||||
If you want to make the text of a label larger, you can use gtk_label_set_markup():
|
||||
<programlisting>
|
||||
gtk_label_set_markup (label, "<big>big text</big>");
|
||||
</programlisting>
|
||||
This is preferred for many apps because it's a relative size to the
|
||||
user's chosen font size. See g_markup_escape_text() if you are
|
||||
constructing such strings on the fly.
|
||||
user's chosen font size. See g_markup_escape_text() if you are constructing such
|
||||
strings on the fly.
|
||||
</para>
|
||||
<para>
|
||||
You can also change the font of a widget by putting
|
||||
<programlisting>
|
||||
gtk-font-name = "Sans 30"
|
||||
</programlisting>
|
||||
in a resource file and parsing it with gtk_rc_add_default_file().
|
||||
The advantage of a resource file is that users can then override the font you
|
||||
have chosen. See <link linkend="gtk-Resource-Files">GTK+ resource files</link>
|
||||
for more discussion.
|
||||
in a resource file and parsing it with gtk_rc_add_default_file(). The advantage of
|
||||
a resource file is that users can then override the font you've chosen. See
|
||||
<link linkend="gtk-Resource-Files">GTK+ resource files</link> for more
|
||||
discussion.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -746,10 +738,9 @@ How do I make a text widget display its complete contents in a specific font?
|
||||
</para></question>
|
||||
|
||||
<answer><para>
|
||||
If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select
|
||||
the font, the inserted text will have the desired appearance, but text typed
|
||||
in by the user before or after the tagged block will appear in the default
|
||||
style.
|
||||
If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select the
|
||||
font, the inserted text will have the desired appearance, but text typed in by the
|
||||
user before or after the tagged block will appear in the default style.
|
||||
</para>
|
||||
<para>
|
||||
To ensure that all text has the desired appearance, use gtk_widget_modify_font()
|
||||
@@ -766,21 +757,18 @@ How do I make a text view scroll to the end of the buffer automatically ?
|
||||
|
||||
<answer>
|
||||
<para>
|
||||
A good way to keep a text buffer scrolled to the end is to place a
|
||||
<link linkend="GtkTextMark">mark</link> at the end of the buffer, and
|
||||
give it right gravity. The gravity has the effect that text inserted
|
||||
at the mark gets inserted <emphasis>before</emphasis>, keeping the mark
|
||||
at the end.
|
||||
The "insert" <link linkend="GtkTextMark">mark</link> marks the insertion point
|
||||
where gtk_text_buffer_insert() inserts new text into the buffer. The text is inserted
|
||||
<emphasis>before</emphasis> the "insert" mark, so that it generally stays
|
||||
at the end of the buffer. If it gets explicitly moved to some other position,
|
||||
e.g. when the user selects some text, use gtk_text_buffer_move_mark() to set it to
|
||||
the desired location before inserting more text. The "insert" mark of a buffer can be
|
||||
obtained with gtk_text_buffer_get_insert().
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To ensure that the end of the buffer remains visible, use
|
||||
gtk_text_view_scroll_to_mark() to scroll to the mark after
|
||||
inserting new text.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The gtk-demo application contains an example of this technique.
|
||||
gtk_text_view_scroll_to_mark() to scroll to the "insert" mark after inserting new text.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -798,8 +786,8 @@ How do I associate some data with a row in the tree?
|
||||
<answer>
|
||||
<para>
|
||||
Remember that the #GtkTreeModel columns don't necessarily have to be displayed.
|
||||
So you can put non-user-visible data in your model just like any other data,
|
||||
and retrieve it with gtk_tree_model_get(). See the
|
||||
So you can put non-user-visible data in your model just like any other data, and
|
||||
retrieve it with gtk_tree_model_get(). See the
|
||||
<link linkend="TreeWidget">tree widget overview</link>.
|
||||
</para>
|
||||
</answer>
|
||||
@@ -827,10 +815,9 @@ How do I put an image and some text in the same column?
|
||||
|
||||
<answer>
|
||||
<para>
|
||||
You can pack more than one #GtkCellRenderer into a single #GtkTreeViewColumn
|
||||
using gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end().
|
||||
So pack both a #GtkCellRendererPixbuf and a #GtkCellRendererText into the
|
||||
column.
|
||||
You can pack more than one #GtkCellRenderer into a single #GtkTreeViewColumn using
|
||||
gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). So pack both
|
||||
a #GtkCellRendererPixbuf and a #GtkCellRendererText into the column.
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -844,9 +831,8 @@ gtk_list_store_set() and gtk_tree_store_set(), but can't read it back?
|
||||
<answer>
|
||||
<para>
|
||||
Both the #GtkTreeStore and the #GtkListStore implement the #GtkTreeModel
|
||||
interface. Consequentially, the can use any function this interface
|
||||
implements. The easiest way to read a set of data back is to use
|
||||
gtk_tree_model_get().
|
||||
interface. Consequentially, the can use any function this interface implements.
|
||||
The easiest way to read a set of data back is to use gtk_tree_model_get().
|
||||
</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
@@ -857,8 +843,8 @@ How do I change the way that numbers are formatted by #GtkTreeView?
|
||||
</para></question>
|
||||
<answer><para>
|
||||
Use gtk_tree_view_insert_column_with_data_func()
|
||||
or gtk_tree_view_column_set_cell_data_func() and do the conversion from i
|
||||
number to string yourself (with, say, g_strdup_printf()).
|
||||
or gtk_tree_view_column_set_cell_data_func() and do the conversion from number to
|
||||
string yourself (with, say, g_strdup_printf()).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
||||
@@ -20,9 +20,9 @@ How to run and debug your GTK+ application
|
||||
|
||||
<para>
|
||||
All GTK+ applications support a number of standard commandline
|
||||
options. These are removed from <literal>argv</literal> by gtk_init().
|
||||
Modules may parse and remove further options. The
|
||||
<link linkend="x11-cmdline">X11</link> and
|
||||
options. These are removed from <literal>argv</literal> by <link
|
||||
linkend="gtk-init">gtk_init()</link>. Modules may parse and remove
|
||||
further options. The <link linkend="x11-cmdline">X11</link> and
|
||||
<link linkend="win32-cmdline">Windows</link> GDK backends parse
|
||||
some additional commandline options.
|
||||
</para>
|
||||
@@ -80,7 +80,7 @@ list them here for completeness nevertheless.
|
||||
<title><systemitem>--class <replaceable>class</replaceable></systemitem></title>
|
||||
|
||||
<para>
|
||||
Sets the program class; see gdk_set_program_class().
|
||||
Sets the program class; see <link linkend="gdk-set-program-class"><function>gdk_set_program_class</function>()</link>.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
@@ -97,9 +97,10 @@ Sets the program name.
|
||||
|
||||
<para>
|
||||
A list of <link linkend="GDK-Debug-Options">debug options</link>
|
||||
to turn on in addition to those specified in the <envar>GDK_DEBUG</envar>
|
||||
environment variable. This option is only available if GTK+ has been
|
||||
configured with <option>--enable-debug=yes</option>.
|
||||
to turn on in addition to those
|
||||
specified in the <envar>GDK_DEBUG</envar> environment variable.
|
||||
This option is only available if GTK+ has been configured with
|
||||
<option>--enable-debug=yes</option>.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
@@ -108,7 +109,8 @@ configured with <option>--enable-debug=yes</option>.
|
||||
|
||||
<para>
|
||||
A list of <link linkend="GDK-Debug-Options">debug options</link>
|
||||
to turn off. This option is only available if GTK+ has been configured with
|
||||
to turn off.
|
||||
This option is only available if GTK+ has been configured with
|
||||
<option>--enable-debug=yes</option>.
|
||||
</para>
|
||||
</formalpara>
|
||||
@@ -182,8 +184,7 @@ additional environment variables.
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
The special value <literal>all</literal> can be used to turn on all
|
||||
debug options.
|
||||
The special value <literal>all</literal> can be used to turn on all debug options.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
@@ -201,13 +202,12 @@ additional environment variables.
|
||||
<para>
|
||||
Specifies a list of directories to search when GTK+ is looking for
|
||||
dynamically loaded objects such as the modules specified by
|
||||
<envar>GTK_MODULES</envar>, theme engines, input method
|
||||
modules, file system backends and print backends. If the path to
|
||||
the dynamically loaded object is given as an absolute path name,
|
||||
then GTK+ loads it directly.
|
||||
Otherwise, GTK+ goes in turn through the directories in GTK_PATH,
|
||||
followed by the directory <filename>.gtk-2.0</filename> in the user's
|
||||
home directory, followed by the system default directory,
|
||||
<envar>GTK_MODULES</envar>, theme engines, and input method
|
||||
modules. If the path to the dynamically loaded object is given
|
||||
as an absolute path name, then GTK+ loads it directly. Otherwise,
|
||||
GTK+ goes in turn through the directories in GTK_PATH, followed
|
||||
by the directory <filename>.gtk-2.0</filename> in the user's home
|
||||
directory, followed by the system default directory,
|
||||
which is <filename><replaceable>libdir</replaceable>/gtk-2.0/modules</filename>.
|
||||
(If <envar>GTK_EXE_PREFIX</envar> is defined, <replaceable>libdir</replaceable> is
|
||||
<filename>$GTK_EXE_PREFIX/lib</filename>. Otherwise it is the libdir
|
||||
@@ -225,10 +225,9 @@ additional environment variables.
|
||||
--variable=gtk_host gtk+-2.0</literal> to determine this from a
|
||||
script), and <replaceable>type</replaceable> is a directory
|
||||
specific to the type of modules; currently it can be
|
||||
<literal>modules</literal>, <literal>engines</literal>,
|
||||
<literal>immodules</literal>, <literal>filesystems</literal> or
|
||||
<literal>printbackends</literal>, corresponding to the types of
|
||||
modules mentioned above. Either <replaceable>version</replaceable>,
|
||||
<literal>modules</literal>, <literal>engines</literal> or
|
||||
<literal>immodules</literal> corresponding to the three types of
|
||||
modules above. Either <replaceable>version</replaceable>,
|
||||
<replaceable>host</replaceable>, or both may be omitted. GTK+ looks
|
||||
first in the most specific directory, then in directories with
|
||||
fewer components.
|
||||
@@ -329,8 +328,7 @@ nevertheless.
|
||||
<listitem><para>Information about XIM support</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
The special value <literal>all</literal> can be used to turn on all
|
||||
debug options.
|
||||
The special value <literal>all</literal> can be used to turn on all debug options.
|
||||
</para>
|
||||
</formalpara>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<refnamediv>
|
||||
<refname>Text Widget Overview</refname>
|
||||
<refpurpose>Overview of GtkTextBuffer, GtkTextView, and friends</refpurpose>
|
||||
<refpurpose>Overview of #GtkTextBuffer, #GtkTextView, and friends</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1>
|
||||
@@ -37,8 +37,8 @@ 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. A tag is
|
||||
represented by a #GtkTextTag object. One #GtkTextTag can be applied to any
|
||||
number of text ranges in any number of buffers.
|
||||
represented by a #GtkTextTag object. One #GtkTextTag can be applied to any number
|
||||
of text ranges in any number of buffers.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
@@ -57,36 +57,35 @@ is convenient if you're creating tags on-the-fly).
|
||||
<para>
|
||||
Most text manipulation is accomplished with <firstterm>iterators</firstterm>,
|
||||
represented by a #GtkTextIter. An iterator represents a position between two
|
||||
characters in the text buffer. #GtkTextIter is a struct designed to be
|
||||
allocated on the stack; it's guaranteed to be copiable by value and never
|
||||
contain any heap-allocated data. Iterators are not valid indefinitely;
|
||||
whenever the buffer is modified in a way that affects the number of characters
|
||||
in the buffer, all outstanding iterators become invalid. (Note that deleting
|
||||
5 characters and then reinserting 5 still invalidates iterators, though you
|
||||
end up with the same number of characters you pass through a state with a
|
||||
different number).
|
||||
characters in the text buffer. #GtkTextIter is a struct designed to be allocated
|
||||
on the stack; it's guaranteed to be copiable by value and never contain any
|
||||
heap-allocated data. Iterators are not valid indefinitely; whenever the buffer
|
||||
is modified in a way that affects the number of characters in the buffer, all
|
||||
outstanding iterators become invalid. (Note that deleting 5 characters and then
|
||||
reinserting 5 still invalidates iterators, though you end up with the same
|
||||
number of characters you pass through a state with a different number).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Because of this, iterators can't be used to preserve positions across buffer
|
||||
modifications. To preserve a position, the #GtkTextMark object is ideal. You
|
||||
can think of a mark as an invisible cursor or insertion point; it floats in
|
||||
the buffer, saving a position. If the text surrounding the mark is deleted,
|
||||
the mark remains in the position the text once occupied; if text is inserted
|
||||
at the mark, the mark ends up either to the left or to the right of the new
|
||||
text, depending on its <firstterm>gravity</firstterm>. The standard text
|
||||
cursor in left-to-right languages is a mark with right gravity, because it
|
||||
stays to the right of inserted text.
|
||||
modifications. To preserve a position, the #GtkTextMark object is ideal. You can
|
||||
think of a mark as an invisible cursor or insertion point; it floats in the buffer,
|
||||
saving a position. If the text surrounding the mark is deleted, the mark remains
|
||||
in the position the text once occupied; if text is inserted at the mark, the
|
||||
mark ends up either to the left or to the right of the new text, depending on
|
||||
its <firstterm>gravity</firstterm>. The standard text cursor in left-to-right
|
||||
languages is a mark with right gravity, because it stays to the right of
|
||||
inserted text.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Like tags, marks can be either named or anonymous. There are two marks built-in
|
||||
to #GtkTextBuffer; these are named <literal>"insert"</literal> and
|
||||
<literal>"selection_bound"</literal> and refer to the insertion point and the
|
||||
boundary of the selection which is not the insertion point, respectively. If
|
||||
no text is selected, these two marks will be in the same position. You can
|
||||
manipulate what is selected and where the cursor appears by moving these
|
||||
marks around.
|
||||
boundary of the selection which is not the insertion point, respectively. If no
|
||||
text is selected, these two marks will be in the same position. You can manipulate
|
||||
what is selected and where the cursor appears by moving these marks around.
|
||||
|
||||
<footnote>
|
||||
<para>
|
||||
If you want to place the cursor in response to a user action, be sure to use
|
||||
|
||||
@@ -213,30 +213,6 @@ GtkPacker
|
||||
Private Information
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtkthemes.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtkthemes.sgml:See_Also ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtkthemes.sgml:Short_Description ##### -->
|
||||
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtkthemes.sgml:Stability_Level ##### -->
|
||||
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtkthemes.sgml:Title ##### -->
|
||||
Themes
|
||||
|
||||
|
||||
<!-- ##### SECTION ./tmpl/gtktreemodelsimple.sgml:Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
@@ -555,12 +531,6 @@ Use to get the value of a GtkArg whose GtkType is GTK_TYPE_C_FOREIGN
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkAboutDialog:name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GtkAccelEntry ##### -->
|
||||
<para>
|
||||
This is a private struct used by GTK+ internally, don't worry about it.
|
||||
@@ -656,12 +626,6 @@ Define a function pointer. Deprecated.
|
||||
|
||||
@parent:
|
||||
|
||||
<!-- ##### ARG GtkCellView:use-fg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkColorSelection:previous-alpha ##### -->
|
||||
<para>
|
||||
|
||||
@@ -913,78 +877,12 @@ You may not attach these to signals created with the
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:action ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:do-overwrite-confirmation ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:extra-widget ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:file-system ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:file-system-backend ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:filter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:local-only ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:preview-widget ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:preview-widget-active ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:select-multiple ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:show-hidden ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkFileChooser:use-preview-label ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ENUM GtkFontFilterType ##### -->
|
||||
<para>
|
||||
A set of bit flags used to specify the filter being set
|
||||
@@ -1266,66 +1164,6 @@ after other user handlers and the default handler.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:filter ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:limit ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:local-only ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:recent-manager ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:select-multiple ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:show-icons ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:show-not-found ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:show-private ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:show-tips ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkRecentChooser:sort-type ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkScrolledWindow:shadow ##### -->
|
||||
<para>
|
||||
|
||||
@@ -1502,14 +1340,6 @@ produce superscript and subscript.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GtkTextView::move-focus ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@textview: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GtkTextView:height-lines ##### -->
|
||||
<para>
|
||||
|
||||
@@ -1534,15 +1364,6 @@ produce superscript and subscript.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### SIGNAL GtkToolbar::move-focus ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@toolbar: the object which received the signal.
|
||||
@arg1:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### ARG GtkToolbar:pack-end ##### -->
|
||||
<para>
|
||||
|
||||
@@ -1704,14 +1525,6 @@ the #GtkAdjustment which sets the range of the scale.
|
||||
|
||||
@window: the object which received the signal.
|
||||
|
||||
<!-- ##### SIGNAL GtkWindow::move-focus ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window: the object which received the signal.
|
||||
@arg1:
|
||||
|
||||
<!-- ##### ARG GtkWindow:auto-shrink ##### -->
|
||||
<para>
|
||||
If the window shrinks automatically when widgets within it shrink.
|
||||
@@ -2131,14 +1944,6 @@ Sets the default size of child buttons.
|
||||
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gtk_cell_view_get_use_fg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cell_view:
|
||||
@Returns:
|
||||
|
||||
<!-- ##### FUNCTION gtk_cell_view_set_cell_data ##### -->
|
||||
<para>
|
||||
|
||||
@@ -2147,14 +1952,6 @@ Sets the default size of child buttons.
|
||||
@cell_view:
|
||||
@cellview:
|
||||
|
||||
<!-- ##### FUNCTION gtk_cell_view_set_use_fg ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cell_view:
|
||||
@use_fg:
|
||||
|
||||
<!-- ##### FUNCTION gtk_clist_construct ##### -->
|
||||
<para>
|
||||
Initializes a previously allocated #GtkCList widget for use. This should not
|
||||
@@ -2372,39 +2169,6 @@ This function is not usually used by users.
|
||||
@tree_column:
|
||||
@titles:
|
||||
|
||||
<!-- ##### FUNCTION gtk_decorated_window_calculate_frame_size ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
|
||||
<!-- ##### FUNCTION gtk_decorated_window_init ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
|
||||
<!-- ##### FUNCTION gtk_decorated_window_move_resize_window ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@x:
|
||||
@y:
|
||||
@width:
|
||||
@height:
|
||||
|
||||
<!-- ##### FUNCTION gtk_decorated_window_set_title ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@window:
|
||||
@title:
|
||||
|
||||
<!-- ##### FUNCTION gtk_drag_dest_handle_event ##### -->
|
||||
<para>
|
||||
Internal function.
|
||||
|
||||
@@ -28,20 +28,6 @@ To make constructing a #GtkAboutDialog as convenient as possible, you can
|
||||
use the function gtk_show_about_dialog() which constructs and shows a dialog
|
||||
and keeps it around so that it can be shown again.
|
||||
</para>
|
||||
<para>
|
||||
Note that GTK+ sets a default title of <literal>_("About %s")</literal>
|
||||
on the dialog window (where %s is replaced by the name of the
|
||||
application, but in order to ensure proper translation of the title,
|
||||
applications should set the title property explicitly when constructing
|
||||
a #GtkAboutDialog, as shown in the following example:
|
||||
</para>
|
||||
<informalexample><programlisting>
|
||||
gtk_show_about_dialog (NULL,
|
||||
"name", "ExampleCode",
|
||||
"logo", example_logo,
|
||||
"title" _("About ExampleCode"),
|
||||
NULL);
|
||||
</programlisting></informalexample>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
@@ -98,7 +84,7 @@ only private fields and should not be directly accessed.
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkAboutDialog:program-name ##### -->
|
||||
<!-- ##### ARG GtkAboutDialog:name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
@@ -154,24 +140,6 @@ only private fields and should not be directly accessed.
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_about_dialog_get_program_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@about:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_about_dialog_set_program_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@about:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_about_dialog_get_version ##### -->
|
||||
<para>
|
||||
|
||||
@@ -413,12 +381,10 @@ link is activated.
|
||||
</para>
|
||||
|
||||
@about: the #GtkAboutDialog in which the link was activated
|
||||
@link_:
|
||||
@link: the URL or email address to whiche the activated link points
|
||||
@data: user data that was passed when the function was registered
|
||||
with gtk_about_dialog_set_email_hook() or
|
||||
gtk_about_dialog_set_url_hook()
|
||||
<!-- # Unused Parameters # -->
|
||||
@link: the URL or email address to whiche the activated link points
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_about_dialog_set_email_hook ##### -->
|
||||
|
||||
@@ -246,15 +246,6 @@ and should not be accessed directly.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_action_create_menu ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@action:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_action_connect_proxy ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -203,8 +203,7 @@ gtk_action_group_add_actions() to construct actions.
|
||||
@stock_id: The stock id for the action, or the name of an icon from the icon
|
||||
theme.
|
||||
@label: The label for the action. This field should typically be marked for
|
||||
translation, see gtk_action_group_set_translation_domain(). If @label
|
||||
is %NULL, the label of the stock item with id @stock_id is used.
|
||||
translation, see gtk_action_group_set_translation_domain().
|
||||
@accelerator: The accelerator for the action, in the format understood by
|
||||
gtk_accelerator_parse().
|
||||
@tooltip: The tooltip for the action. This field should typically be marked
|
||||
|
||||
@@ -55,11 +55,6 @@ an application.)
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkArrow:arrow-scaling ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### FUNCTION gtk_arrow_new ##### -->
|
||||
<para>
|
||||
Creates a new arrow widget.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
GtkButtonBox
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Base class for GtkHButtonBox and GtkVButtonBox
|
||||
Base class for #GtkHButtonBox and #GtkVButtonBox
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
|
||||
@@ -6,108 +6,12 @@ Key bindings for individual widgets
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GtkBinding provides a mechanism for configuring Gtk+ key bindings through RC files.
|
||||
This eases key binding adjustments for application developers as well as users and
|
||||
provides Gtk+ users or administrators with high key binding configurability which
|
||||
requires no application or toolkit side changes.
|
||||
</para>
|
||||
|
||||
<refsect2>
|
||||
<anchor id="gtk-bindings-install"/>
|
||||
<title>Installing a key binding</title>
|
||||
|
||||
<para>
|
||||
A resource file binding consists of a 'binding' definition and a match statement to
|
||||
apply the binding to specific widget types. Details on the matching mechanism are
|
||||
described under <link linkend="gtkrc-pathnames-and-patterns">Pathnames and patterns</link>.
|
||||
Inside the binding definition, key combinations are bound to specific signal emissions
|
||||
on the target widget. Key combinations are strings consisting of an optional #GdkModifierType
|
||||
name and <link linkend="gdk-Keyboard-Handling">key names</link> such as those defined in
|
||||
<filename><gdk/gdkkeysyms.h></filename> or returned from gdk_keyval_name(), they have
|
||||
to be parsable by gtk_accelerator_parse().
|
||||
Specifications of signal emissions consist of a string identifying the signal name, and
|
||||
a list of signal specific arguments in parenthesis.
|
||||
|
||||
For example for binding Control and the left or right cursor keys of a #GtkEntry widget to the
|
||||
#GtkEntry::move-cursor signal, so movement occurs in 3 letter steps,
|
||||
the following binding can be used:
|
||||
|
||||
<informalexample><programlisting>
|
||||
binding "MoveCursor3" {
|
||||
bind "<Control>Right" {
|
||||
"move-cursor" (visual-positions, 3, 0)
|
||||
}
|
||||
bind "<Control>Left" {
|
||||
"move-cursor" (visual-positions, -3, 0)
|
||||
}
|
||||
}
|
||||
class "GtkEntry" binding "MoveCursor3"
|
||||
</programlisting></informalexample>
|
||||
</para>
|
||||
|
||||
|
||||
<anchor id="gtk-bindings-unbind"/>
|
||||
<title>Unbinding existing key bindings</title>
|
||||
<para>
|
||||
Gtk+ already defines a number of useful bindings for the widgets it provides.
|
||||
Because custom bindings set up in RC files take precedence over the default bindings
|
||||
shipped with Gtk+, overriding existing bindings as demonstrated in
|
||||
<link linkend="gtk-bindings-install">Installing a key binding</link>
|
||||
works as expected. The same mechanism can not be used to "unbind" existing bindings,
|
||||
however.
|
||||
|
||||
<informalexample><programlisting>
|
||||
binding "MoveCursor3" {
|
||||
bind "<Control>Right" { }
|
||||
bind "<Control>Left" { }
|
||||
}
|
||||
class "GtkEntry" binding "MoveCursor3"
|
||||
</programlisting></informalexample>
|
||||
|
||||
The above example will not have the desired effect of causing "<Control>Right"
|
||||
and "<Control>Left" key presses to be ignored by Gtk+. Instead, it just causes
|
||||
any existing bindings from the bindings set "MoveCursor3" to be deleted, so when
|
||||
"<Control>Right" or "<Control>Left" are pressed, no binding for these keys
|
||||
is found in binding set "MoveCursor3". Gtk+ will thus continue to search for matching
|
||||
key bindings, and will eventually lookup and find the default Gtk+ bindings for entries
|
||||
which implement word movement. To keep Gtk+ from activating its default bindings, the
|
||||
"unbind" keyword can be used like this:
|
||||
|
||||
<informalexample><programlisting>
|
||||
binding "MoveCursor3" {
|
||||
unbind "<Control>Right"
|
||||
unbind "<Control>Left"
|
||||
}
|
||||
class "GtkEntry" binding "MoveCursor3"
|
||||
</programlisting></informalexample>
|
||||
|
||||
Now, Gtk+ will find a match when looking up "<Control>Right" and "<Control>Left"
|
||||
key presses before it resorts to its default bindings, and the match instructs it to abort
|
||||
("unbind") the search, so the key presses are not consumed by this widget.
|
||||
As usual, further processing of the key presses, e.g. by an entries parent widget,
|
||||
is now possible.
|
||||
|
||||
</para>
|
||||
|
||||
</refsect2>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term><link linkend="gtk-keyboard-accelerators">Keyboard Accelerators</link>
|
||||
</term>
|
||||
<listitem><para>installing and using keyboard short-cuts.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><link linkend="Resource-Files">Resource Files</link>
|
||||
</term>
|
||||
<listitem><para>Gtk+ Resource Files - behavior and style definitions.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
@@ -115,93 +19,48 @@ is now possible.
|
||||
|
||||
<!-- ##### STRUCT GtkBindingSet ##### -->
|
||||
<para>
|
||||
A binding set maintains a list of activatable key bindings.
|
||||
A single binding set can match multiple types of widgets.
|
||||
Similar to styles, widgets can be mapped by widget name paths, widget class paths or widget class types.
|
||||
When a binding within a set is matched upon activation, an action signal is emitted on
|
||||
the target widget to carry out the actual activation.
|
||||
|
||||
</para>
|
||||
|
||||
@set_name: unique binding set name
|
||||
@priority: unused
|
||||
@widget_path_pspecs: widgets matched by path that this binding set applies to
|
||||
@widget_class_pspecs: widgets matched by class path that this binding set applies to
|
||||
@class_branch_pspecs: widgets matched by class that this binding set applies to
|
||||
@entries: the key binding entries in this binding set
|
||||
@current: implementation detail
|
||||
@parsed: whether this binding set stems from an RC file and is reset upon theme changes
|
||||
@set_name:
|
||||
@priority:
|
||||
@widget_path_pspecs:
|
||||
@widget_class_pspecs:
|
||||
@class_branch_pspecs:
|
||||
@entries:
|
||||
@current:
|
||||
@parsed:
|
||||
|
||||
<!-- ##### STRUCT GtkBindingEntry ##### -->
|
||||
<para>
|
||||
Each key binding element of a binding sets binding list is represented by a #GtkBindingEntry.
|
||||
|
||||
</para>
|
||||
|
||||
@keyval: key value to match
|
||||
@modifiers: key modifier to match
|
||||
@binding_set: binding set this entry belongs to
|
||||
@destroyed: implementation detail
|
||||
@in_emission: implementation detail
|
||||
@marks_unbound:
|
||||
@set_next: linked list of entries maintained by binding set
|
||||
@hash_next: implementation detail
|
||||
@signals: action signals of this entry
|
||||
@keyval:
|
||||
@modifiers:
|
||||
@binding_set:
|
||||
@destroyed:
|
||||
@in_emission:
|
||||
@set_next:
|
||||
@hash_next:
|
||||
@signals:
|
||||
|
||||
<!-- ##### STRUCT GtkBindingSignal ##### -->
|
||||
<para>
|
||||
A #GtkBindingSignal stores the necessary information to activate a widget
|
||||
in response to a key press via a signal emission.
|
||||
|
||||
</para>
|
||||
|
||||
@next: implementation detail
|
||||
@signal_name: the action signal to be emitted
|
||||
@n_args: number of arguments specified for the signal
|
||||
@args: the arguments specified for the signal
|
||||
@next:
|
||||
@signal_name:
|
||||
@n_args:
|
||||
@args:
|
||||
|
||||
<!-- ##### STRUCT GtkBindingArg ##### -->
|
||||
<para>
|
||||
A #GtkBindingArg holds the data associated with an argument for a
|
||||
key binding signal emission as stored in #GtkBindingSignal.
|
||||
</para>
|
||||
|
||||
@arg_type: implementation detail
|
||||
|
||||
<!-- ##### MACRO gtk_binding_entry_add ##### -->
|
||||
<para>
|
||||
Deprecated.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_add_signall ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@binding_set:
|
||||
@keyval:
|
||||
@modifiers:
|
||||
@signal_name:
|
||||
@binding_args:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_clear ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@binding_set:
|
||||
@keyval:
|
||||
@modifiers:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_parse_binding ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@scanner:
|
||||
@Returns:
|
||||
|
||||
@arg_type:
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_set_new ##### -->
|
||||
<para>
|
||||
@@ -263,6 +122,23 @@ Deprecated.
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO gtk_binding_entry_add ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_clear ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@binding_set:
|
||||
@keyval:
|
||||
@modifiers:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_add_signal ##### -->
|
||||
<para>
|
||||
|
||||
@@ -276,14 +152,15 @@ Deprecated.
|
||||
@Varargs:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_skip ##### -->
|
||||
<!-- ##### FUNCTION gtk_binding_set_add_path ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@binding_set:
|
||||
@keyval:
|
||||
@modifiers:
|
||||
@path_type:
|
||||
@path_pattern:
|
||||
@priority:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_entry_remove ##### -->
|
||||
@@ -296,14 +173,24 @@ Deprecated.
|
||||
@modifiers:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_set_add_path ##### -->
|
||||
<!-- ##### FUNCTION gtk_binding_entry_add_signall ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@binding_set:
|
||||
@path_type:
|
||||
@path_pattern:
|
||||
@priority:
|
||||
@keyval:
|
||||
@modifiers:
|
||||
@signal_name:
|
||||
@binding_args:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_binding_parse_binding ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@scanner:
|
||||
@Returns:
|
||||
|
||||
|
||||
|
||||
@@ -5,116 +5,138 @@ GtkBox
|
||||
Base class for box containers
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
GtkBox is an abstract widget which encapsulates functionality for a
|
||||
particular kind of container, one that organizes a variable number of
|
||||
widgets into a rectangular area. GtkBox currently has two derived
|
||||
classes, #GtkHBox and #GtkVBox.
|
||||
</para>
|
||||
<para>
|
||||
The rectangular area of a GtkBox is organized into either a single row
|
||||
or a single column of child widgets depending upon whether the box is
|
||||
of type #GtkHBox or #GtkVBox, respectively. Thus, all children of a
|
||||
GtkBox are allocated one dimension in common, which is the height of a
|
||||
row, or the width of a column.
|
||||
</para>
|
||||
<para>
|
||||
GtkBox uses a notion of <emphasis>packing</emphasis>. Packing refers to
|
||||
adding widgets with reference to a particular position in a
|
||||
#GtkContainer. For a GtkBox, there are two reference positions: the
|
||||
<emphasis>start</emphasis> and the <emphasis>end</emphasis> of the box.
|
||||
For a #GtkVBox, the start is defined as the top of the box and the end is
|
||||
defined as the bottom. For a #GtkHBox the start is defined as the
|
||||
left side and the end is defined as the right side.
|
||||
</para>
|
||||
<para>
|
||||
Use repeated calls to gtk_box_pack_start() to pack widgets into a
|
||||
GtkBox from start to end. Use gtk_box_pack_end() to add widgets from
|
||||
end to start. You may intersperse these calls and add widgets from
|
||||
both ends of the same GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_pack_start_defaults() or gtk_box_pack_end_defaults()
|
||||
to pack widgets into a GtkBox if you do not need to specify the
|
||||
#GtkBox:expand, #GtkBox:fill, or #GtkBox:padding child properties
|
||||
for the child to be added.
|
||||
</para>
|
||||
<para>
|
||||
Because GtkBox is a #GtkContainer, you may also use
|
||||
gtk_container_add() to insert widgets into the box, and they will be
|
||||
packed as if with gtk_box_pack_start_defaults(). Use
|
||||
gtk_container_remove() to remove widgets from the GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_homogeneous() to specify whether or not all children
|
||||
of the GtkBox are forced to get the same amount of space.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_spacing() to determine how much space will be
|
||||
minimally placed between all children in the GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_reorder_child() to move a GtkBox child to a different
|
||||
place in the box.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_child_packing() to reset the #GtkBox:expand,
|
||||
#GtkBox:fill and #GtkBox:padding child properties.
|
||||
Use gtk_box_query_child_packing() to query these fields.
|
||||
<para>
|
||||
GtkBox is an abstract widget which encapsulates functionallity for a
|
||||
particular kind of container, one that organizes a variable number of
|
||||
widgets into a rectangular area. GtkBox currently has two derived
|
||||
classes, #GtkHBox and #GtkVBox.
|
||||
</para>
|
||||
<para>
|
||||
The rectangular area of a GtkBox is organized into either a single row
|
||||
or a single column of child widgets depending upon whether the box is
|
||||
of type #GtkHBox or #GtkVBox, respectively. Thus, all children of a
|
||||
GtkBox are allocated one dimension in common, which is the height of a
|
||||
row, or the width of a column.
|
||||
</para>
|
||||
<para>
|
||||
GtkBox uses a notion of <emphasis>packing</emphasis>. Packing refers to
|
||||
adding widgets with reference to a particular position in a
|
||||
#GtkContainer. For a GtkBox, there are two reference positions: the
|
||||
<emphasis>start</emphasis> and the <emphasis>end</emphasis> of the box. For a
|
||||
#GtkVBox, the start is defined as the top of the box and the end is
|
||||
defined as the bottom. For a #GtkHBox the start is defined as the
|
||||
left side and the end is defined as the right side.
|
||||
</para>
|
||||
<para>
|
||||
Use repeated calls to gtk_box_pack_start() to pack widgets into a
|
||||
GtkBox from start to end. Use gtk_box_pack_end() to add widgets from
|
||||
end to start. You may intersperse these calls and add widgets from
|
||||
both ends of the same GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_pack_start_defaults() or gtk_box_pack_end_defaults()
|
||||
to pack widgets into a GtkBox if you do not need to specify the
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>, or
|
||||
<structfield>padding</structfield> attributes of the child to be
|
||||
added.
|
||||
</para>
|
||||
<para>
|
||||
Because GtkBox is a #GtkContainer, you may also use
|
||||
gtk_container_add() to insert widgets into the box, and they will be
|
||||
packed as if with gtk_box_pack_start_defaults(). Use
|
||||
gtk_container_remove() to remove widgets from the GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_homogeneous() to specify whether or not all children
|
||||
of the GtkBox are forced to get the same amount of space.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_spacing() to determine how much space will be
|
||||
minimally placed between all children in the GtkBox.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_reorder_child() to move a GtkBox child to a different
|
||||
place in the box.
|
||||
</para>
|
||||
<para>
|
||||
Use gtk_box_set_child_packing() to reset the
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>,
|
||||
and <structfield>padding</structfield> attributes of any GtkBox child.
|
||||
Use gtk_box_query_child_packing() to query these fields.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkHBox</term>
|
||||
<listitem><para>a derived class that organizes widgets into a row.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkVBox</term>
|
||||
<listitem><para>a derived class that organizes widgets into a column.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkFrame</term>
|
||||
<listitem><para>a #GtkWidget useful for drawing a border around a GtkBox.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkTable</term>
|
||||
<listitem><para>a #GtkContainer for organizing widgets into a grid,
|
||||
rather than independent rows or columns.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkLayout</term>
|
||||
<listitem><para>a #GtkContainer for organizing widgets into arbitrary
|
||||
layouts.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkHBox</term>
|
||||
<listitem><para>a derived class that organizes widgets into a row.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkVBox</term>
|
||||
<listitem><para>a derived class that organizes widgets into a column.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkFrame</term>
|
||||
<listitem><para>a #GtkWidget useful for drawing a border around a GtkBox.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkTable</term>
|
||||
<listitem><para>a #GtkContainer for organizing widgets into a grid,
|
||||
rather than independent rows or columns.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>#GtkLayout</term>
|
||||
<listitem><para>a #GtkContainer for organizing widgets into arbitrary
|
||||
layouts.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GtkBox ##### -->
|
||||
<para>
|
||||
The #GtkBox-struct describes an instance of GtkBox and contains the
|
||||
following fields. (These fields should be considered read-only.
|
||||
They should never be set by an application.)
|
||||
<para>
|
||||
The #GtkBox-struct describes an instance of GtkBox and contains the following fields.
|
||||
(These fields should be considered read-only. They should never be set by
|
||||
an application.)
|
||||
|
||||
<informaltable pgwide="1" frame="none" role="struct">
|
||||
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
|
||||
<tbody>
|
||||
|
||||
<row>
|
||||
<entry>#GList * <structfield>children</structfield>;</entry>
|
||||
<entry>a list of children belonging the GtkBox. The data is a list of
|
||||
structures of type #GtkBoxChild-struct.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#gint16 <structfield>spacing</structfield>;</entry>
|
||||
<entry>the number of pixels to put between children of the GtkBox, zero
|
||||
by default. Use gtk_box_set_spacing() to set this field.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#guint <structfield>homogeneous</structfield>;</entry>
|
||||
<entry>a flag that if %TRUE forces all children to get equal space in
|
||||
the GtkBox; %FALSE by default. Use gtk_box_set_homogeneous() to set this
|
||||
field.</entry>
|
||||
</row>
|
||||
</tbody></tgroup></informaltable>
|
||||
</para>
|
||||
|
||||
@children: a list of children belonging the GtkBox.
|
||||
The data is a list of structures of type #GtkBoxChild-struct.
|
||||
@spacing: the number of pixels to put between children of the GtkBox,
|
||||
zero by default. Use gtk_box_set_spacing() to set this field.
|
||||
@homogeneous: a flag that if %TRUE forces all children to get equal
|
||||
space in the GtkBox; %FALSE by default. Use gtk_box_set_homogeneous()
|
||||
to set this field.
|
||||
@children:
|
||||
@spacing:
|
||||
@homogeneous:
|
||||
|
||||
<!-- ##### ARG GtkBox:homogeneous ##### -->
|
||||
<para>
|
||||
@@ -152,76 +174,145 @@ They should never be set by an application.)
|
||||
</para>
|
||||
|
||||
<!-- ##### STRUCT GtkBoxChild ##### -->
|
||||
<para>
|
||||
The #GtkBoxChild-struct holds a child widget of GtkBox and describes
|
||||
how the child is to be packed into the GtkBox. Use
|
||||
gtk_box_query_child_packing() and gtk_box_set_child_packing() to query
|
||||
and reset the <structfield>padding</structfield>,
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>,
|
||||
and <structfield>pack</structfield> fields.
|
||||
</para>
|
||||
<para>
|
||||
#GtkBoxChild-struct contains the following fields. (These fields
|
||||
should be considered read-only. They should never be directly set by an
|
||||
application.)
|
||||
<para>
|
||||
The #GtkBoxChild-struct holds a child widget of GtkBox and describes
|
||||
how the child is to be packed into the GtkBox. Use
|
||||
gtk_box_query_child_packing() and gtk_box_set_child_packing() to query
|
||||
and reset the <structfield>padding</structfield>,
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>,
|
||||
and <structfield>pack</structfield> fields.
|
||||
</para>
|
||||
<para>
|
||||
#GtkBoxChild-struct contains the following fields. (These fields
|
||||
should be considered read-only. They should never be directly set by an
|
||||
application.)
|
||||
|
||||
<informaltable pgwide="1" frame="none" role="struct">
|
||||
<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
|
||||
<tbody>
|
||||
|
||||
<row>
|
||||
<entry>#GtkWidget * <structfield>widget</structfield>;</entry>
|
||||
<entry>the child widget, packed into the GtkBox.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#guint16 <structfield>padding</structfield>;</entry>
|
||||
<entry>the number of extra pixels to put between this child and its
|
||||
neighbors, set when packed, zero by default.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#guint <structfield>expand</structfield>;</entry>
|
||||
<entry>flag indicates whether extra space should be given to this
|
||||
child. Any extra space given to the parent GtkBox is divided up among
|
||||
all children with this attribute set to %TRUE; set when packed, %TRUE by
|
||||
default.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#guint <structfield>fill</structfield>;</entry>
|
||||
<entry>flag indicates whether any extra space given to this child due to its
|
||||
<structfield>expand</structfield> attribute being set is actually
|
||||
allocated to the child, rather than being used as padding
|
||||
around the widget; set when packed, %TRUE by default.</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry>#guint <structfield>pack</structfield>;</entry> <entry>one of
|
||||
#GtkPackType indicating whether the child is packed with reference to
|
||||
the start (top/left) or end (bottom/right) of the GtkBox.</entry>
|
||||
</row>
|
||||
</tbody></tgroup></informaltable>
|
||||
</para>
|
||||
|
||||
@widget: the child widget, packed into the GtkBox.
|
||||
@padding: the number of extra pixels to put between this child and its
|
||||
neighbors, set when packed, zero by default.
|
||||
@expand: flag indicates whether extra space should be given to this
|
||||
child. Any extra space given to the parent GtkBox is divided up
|
||||
among all children with this attribute set to %TRUE; set when packed,
|
||||
%TRUE by default.
|
||||
@fill: flag indicates whether any extra space given to this child due
|
||||
to its @expand attribute being set is actually allocated to the child,
|
||||
rather than being used as padding around the widget; set when packed,
|
||||
%TRUE by default.
|
||||
@pack: one of #GtkPackType indicating whether the child is packed with
|
||||
reference to the start (top/left) or end (bottom/right) of the GtkBox.
|
||||
@widget:
|
||||
@padding:
|
||||
@expand:
|
||||
@fill:
|
||||
@pack:
|
||||
@is_secondary:
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_pack_start ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Adds @child to @box, packed with reference to the start of @box. The
|
||||
@child is packed after any other child packed with reference to the
|
||||
start of @box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@child:
|
||||
@expand:
|
||||
@box
|
||||
@fill:
|
||||
@padding:
|
||||
@box: a #GtkBox.
|
||||
@child: the #GtkWidget to be added to @box.
|
||||
@expand: %TRUE if the new child is to be given extra space allocated to
|
||||
@box. The extra space will be divided evenly between all children of
|
||||
@box that use this option.
|
||||
@fill: %TRUE if space given to @child by the @expand option is
|
||||
actually allocated to @child, rather than just padding it. This
|
||||
parameter has no effect if @expand is set to %FALSE. A child is
|
||||
always allocated the full height of a #GtkHBox and the full width of a
|
||||
#GtkVBox. This option affects the other dimension.
|
||||
@padding: extra space in pixels to put between this child and its
|
||||
neighbors, over and above the global amount specified by
|
||||
<structfield>spacing</structfield> in #GtkBox-struct. If @child is a
|
||||
widget at one of the reference ends of @box, then @padding pixels are also put
|
||||
between @child and the reference edge of @box.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_pack_end ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Adds @child to @box, packed with reference to the end of @box. The
|
||||
@child is packed after (away from end of) any other child packed with reference to the
|
||||
end of @box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@child:
|
||||
@expand:
|
||||
@fill:
|
||||
@padding:
|
||||
@box: a #GtkBox.
|
||||
@child: the #GtkWidget to be added to @box.
|
||||
@expand: %TRUE if the new child is to be given extra space allocated to
|
||||
@box. The extra space will be divided evenly between all children of
|
||||
@box that use this option.
|
||||
@fill: %TRUE if space given to @child by the @expand option is
|
||||
actually allocated to @child, rather than just padding it. This
|
||||
parameter has no effect if @expand is set to %FALSE. A child is
|
||||
always allocated the full height of a #GtkHBox and the full width of a
|
||||
#GtkVBox. This option affects the other dimension.
|
||||
@padding: extra space in pixels to put between this child and its
|
||||
neighbors, over and above the global amount specified by
|
||||
<structfield>spacing</structfield> in #GtkBox-struct. If @child is a
|
||||
widget at one of the reference ends of @box, then @padding pixels are also put
|
||||
between @child and the reference edge of @box.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_pack_start_defaults ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Adds @widget to @box, packed with reference to the start of @box. The
|
||||
child is packed after any other child packed with reference to the
|
||||
start of @box.
|
||||
</para>
|
||||
<para>
|
||||
Parameters for how to pack the child @widget,
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>,
|
||||
and <structfield>padding</structfield> in #GtkBoxChild-struct, are given their default
|
||||
values, %TRUE, %TRUE, and 0, respectively.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@widget:
|
||||
@box: a #GtkBox.
|
||||
@widget: the #GtkWidget to be added to @box.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_pack_end_defaults ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Adds @widget to @box, packed with reference to the end of @box. The
|
||||
child is packed after (away from end of) any other child packed with
|
||||
reference to the end of @box.
|
||||
</para>
|
||||
<para>
|
||||
Parameters for how to pack the child @widget,
|
||||
<structfield>expand</structfield>, <structfield>fill</structfield>,
|
||||
and <structfield>padding</structfield> in #GtkBoxChild-struct, are given their default
|
||||
values, %TRUE, %TRUE, and 0, respectively.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@widget:
|
||||
@box: a #GtkBox.
|
||||
@widget: the #GtkWidget to be added to @box.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_get_homogeneous ##### -->
|
||||
@@ -234,12 +325,15 @@ application.)
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_set_homogeneous ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Sets the <structfield>homogeneous</structfield> field of
|
||||
#GtkBox-struct, controlling whether or not all children of @box are
|
||||
given equal space in the box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@homogeneous:
|
||||
@box: a #GtkBox.
|
||||
@homogeneous: a boolean value, %TRUE to create equal allotments,
|
||||
%FALSE for variable allotments.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_get_spacing ##### -->
|
||||
@@ -252,47 +346,68 @@ application.)
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_set_spacing ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Sets the <structfield>spacing</structfield> field of #GtkBox-struct,
|
||||
which is the number of pixels to place between children of @box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@spacing:
|
||||
@box: a #GtkBox.
|
||||
@spacing: the number of pixels to put between children.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_reorder_child ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Moves @child to a new @position in the list of @box children. The
|
||||
list is the <structfield>children</structfield> field of
|
||||
#GtkBox-struct, and contains both widgets packed #GTK_PACK_START as
|
||||
well as widgets packed #GTK_PACK_END, in the order that these widgets
|
||||
were added to @box.
|
||||
</para>
|
||||
<para>
|
||||
A widget's position in the @box children list determines where the
|
||||
widget is packed into @box. A child widget at some position in the
|
||||
list will be packed just after all other widgets of the same packing
|
||||
type that appear earlier in the list.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@child:
|
||||
@position:
|
||||
@box: a #GtkBox.
|
||||
@child: the #GtkWidget to move.
|
||||
@position: the new position for @child in the
|
||||
<structfield>children</structfield> list of #GtkBox-struct, starting
|
||||
from 0. If negative, indicates the end of the list.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_query_child_packing ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Returns information about how @child is packed into @box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@child:
|
||||
@expand:
|
||||
@fill:
|
||||
@padding:
|
||||
@pack_type:
|
||||
@box: a #GtkBox.
|
||||
@child: the #GtkWidget of the child to query.
|
||||
@expand: the returned value of the <structfield>expand</structfield>
|
||||
field in #GtkBoxChild-struct.
|
||||
@fill: the returned value of the <structfield>fill</structfield> field
|
||||
in #GtkBoxChild-struct.
|
||||
@padding: the returned value of the <structfield>padding</structfield>
|
||||
field in #GtkBoxChild-struct.
|
||||
@pack_type: the returned value of the <structfield>pack</structfield>
|
||||
field in #GtkBoxChild-struct.
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_box_set_child_packing ##### -->
|
||||
<para>
|
||||
|
||||
<para>
|
||||
Sets the way @child is packed into @box.
|
||||
</para>
|
||||
|
||||
@box:
|
||||
@child:
|
||||
@expand:
|
||||
@fill:
|
||||
@padding:
|
||||
@pack_type:
|
||||
@box: a #GtkBox.
|
||||
@child: the #GtkWidget of the child to set.
|
||||
@expand: the new value of the <structfield>expand</structfield> field
|
||||
in #GtkBoxChild-struct.
|
||||
@fill: the new value of the <structfield>fill</structfield> field in
|
||||
#GtkBoxChild-struct.
|
||||
@padding: the new value of the <structfield>padding</structfield>
|
||||
field in #GtkBoxChild-struct.
|
||||
@pack_type: the new value of the <structfield>pack</structfield> field
|
||||
in #GtkBoxChild-struct.
|
||||
|
||||
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GtkBuildable
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
SHORT
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
LONG
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
SEE ALSO
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GtkBuildable ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### STRUCT GtkBuildableIface ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@g_iface:
|
||||
@set_name:
|
||||
@get_name:
|
||||
@add:
|
||||
@set_property:
|
||||
@construct_child:
|
||||
@custom_tag_start:
|
||||
@custom_tag_end:
|
||||
@custom_finished:
|
||||
@parser_finished:
|
||||
@get_internal_child:
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_set_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@name:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_get_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_add ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@child:
|
||||
@type:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_set_property ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@name:
|
||||
@value:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_construct_child ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_custom_tag_start ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@child:
|
||||
@tagname:
|
||||
@parser:
|
||||
@data:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_custom_tag_end ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@child:
|
||||
@tagname:
|
||||
@data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_custom_finished ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@child:
|
||||
@tagname:
|
||||
@data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_parser_finished ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_buildable_get_internal_child ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@buildable:
|
||||
@builder:
|
||||
@childname:
|
||||
@Returns:
|
||||
|
||||
|
||||
@@ -1,188 +0,0 @@
|
||||
<!-- ##### SECTION Title ##### -->
|
||||
GtkBuilder
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
Build an interface from a UI definition description.
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
This object represents an `instantiation' of an UI definition description.
|
||||
When one of these objects is created, the XML file is read, and the
|
||||
interface is created. The GtkBuilder object then provides an interface
|
||||
for accessing the widgets in the interface by the names assigned to
|
||||
them inside the UI description.
|
||||
|
||||
The GtkBuilder object can also be used to connect handlers to the named
|
||||
signals in the description. GtkBuilder also provides an interface by
|
||||
which it can look up the signal handler names in the program's symbol
|
||||
table and automatically connect as many handlers up as it can that way.
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION See_Also ##### -->
|
||||
<para>
|
||||
SEE ALSO
|
||||
</para>
|
||||
|
||||
<!-- ##### SECTION Stability_Level ##### -->
|
||||
|
||||
|
||||
<!-- ##### STRUCT GtkBuilder ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkBuilder:translation-domain ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### USER_FUNCTION GtkBuilderConnectFunc ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@object:
|
||||
@signal_name:
|
||||
@handler_name:
|
||||
@connect_object:
|
||||
@flags:
|
||||
@user_data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_new ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_add_from_file ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@filename:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_add_from_string ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@buffer:
|
||||
@length:
|
||||
@error:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_get_object ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@name:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_get_objects ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_connect_signals ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@user_data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_connect_signals_full ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@func:
|
||||
@user_data:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_set_translation_domain ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@domain:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_get_translation_domain ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_get_type_from_name ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@builder:
|
||||
@typename:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_value_from_string ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@pspec:
|
||||
@string:
|
||||
@value:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_builder_value_from_string_type ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@type:
|
||||
@string:
|
||||
@value:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### MACRO GTK_BUILDER_WARN_INVALID_CHILD_TYPE ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@object:
|
||||
@type:
|
||||
|
||||
|
||||
<!-- ##### MACRO GTK_BUILDER_ERROR ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
@@ -50,7 +50,6 @@ of the attribute for each cell that is rendered.
|
||||
@set_cell_data_func:
|
||||
@clear_attributes:
|
||||
@reorder:
|
||||
@get_cells:
|
||||
|
||||
<!-- ##### USER_FUNCTION GtkCellLayoutDataFunc ##### -->
|
||||
<para>
|
||||
@@ -85,15 +84,6 @@ as appropriate.
|
||||
@expand:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_cell_layout_get_cells ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
@cell_layout:
|
||||
@Returns:
|
||||
|
||||
|
||||
<!-- ##### FUNCTION gtk_cell_layout_reorder ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
GtkCellRenderer
|
||||
|
||||
<!-- ##### SECTION Short_Description ##### -->
|
||||
An object for rendering a single cell on a GdkDrawable
|
||||
An object for rendering a single cell on a #GdkDrawable
|
||||
|
||||
<!-- ##### SECTION Long_Description ##### -->
|
||||
<para>
|
||||
@@ -61,7 +61,7 @@ probably has a selection colored background to render to.
|
||||
@GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell.
|
||||
@GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner
|
||||
@GTK_CELL_RENDERER_SORTED: The cell is in a sorted row
|
||||
@GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row.
|
||||
@GTK_CELL_RENDERER_FOCUSED:
|
||||
|
||||
<!-- ##### ENUM GtkCellRendererMode ##### -->
|
||||
<para>
|
||||
|
||||
@@ -28,31 +28,11 @@ The #GtkCellRendererProgress cell renderer was added in GTK+ 2.6.
|
||||
</para>
|
||||
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:orientation ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:pulse ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:text ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:text-xalign ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:text-yalign ##### -->
|
||||
<para>
|
||||
|
||||
</para>
|
||||
|
||||
<!-- ##### ARG GtkCellRendererProgress:value ##### -->
|
||||
<para>
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user