Compare commits

..

5423 Commits

Author SHA1 Message Date
Matthias Clasen
cfbbb5d076 Updates 2011-11-11 23:18:14 -05:00
Matthias Clasen
6f3cdac015 Update iconview test results
The 'showing' state of items is now correct, due to the
'layout not in idle' change in GtkIconView.
2011-11-11 23:08:19 -05:00
Matthias Clasen
b763e2cdaa GtkProgressbar: respect the range of 'fraction'
The setter should not set the property to values outside the allowed
range.

https://bugzilla.gnome.org/show_bug.cgi?id=663825
2011-11-11 23:08:19 -05:00
Benjamin Otte
456b19a35a a11y: Fix gcc warning 2011-11-11 23:08:19 -05:00
Benjamin Otte
6ad897819c a11y: It's not a bug if there's no row at some point
In that case, there's just nothing there.
2011-11-11 23:08:19 -05:00
Guillaume Desmottes
b256211737 gtktreeviewaccessible: use a value_destroy_func with the cell_info_by_index hash
This ensures that we don't leak any GtkTreeViewAccessibleCellInfo when
re-inserting a new one with the same key.

https://bugzilla.gnome.org/show_bug.cgi?id=663694
2011-11-11 23:08:19 -05:00
Guillaume Desmottes
4651571ec3 gtktreeviewaccessible: factor out cell_info_free()
https://bugzilla.gnome.org/show_bug.cgi?id=663694
2011-11-11 23:08:19 -05:00
Morten Welinder
a6179ec639 Print preview: make cancel work
This makes cancels of a print preview work in the same way it
works for non-previews, i.e., the operation stops at the next
page boundary.

https://bugzilla.gnome.org/show_bug.cgi?id=662160
2011-11-11 23:08:18 -05:00
Torsten Schönfeld
b4565e127a gtk: add annotations for some GtkRadio* constructors
Since constructors like gtk_radio_button_new_from_widget take an
instance of their type as the first argument, the gi scanner interprets
them as methods.

https://bugzilla.gnome.org/show_bug.cgi?id=661858
2011-11-11 23:08:18 -05:00
Florian Müllner
31df36cbfe menuitem: Always treat submenus as popup
Submenus are not actually attached to a menubar, but styling them
as if they were imposes some problems (at least with Adwaita).
Just using GDK_WINDOW_TYPE_HINT_POPUP_MENU for submenus instead
fixes the issue.

https://bugzilla.gnome.org/show_bug.cgi?id=662691
2011-11-11 23:08:18 -05:00
Torsten Schönfeld
cd0a5fef30 gtk: add annotations for some GtkSymbolicColor constructors
https://bugzilla.gnome.org/show_bug.cgi?id=661859
2011-11-11 23:08:18 -05:00
Rui Matos
6a5e53a34a x11: Fix window manager change detection
Since the wmspec_check_window doesn't have a corresponding GdkWindow we can't
rely on the get_event_window() return value to get the XID from. Just use the
XID from the XEvent directly.

https://bugzilla.gnome.org/show_bug.cgi?id=662953
2011-11-11 23:08:18 -05:00
Benjamin Moody
0dde424db3 Mark gtk_dialog_new_with_buttons as NULL-terminated
https://bugzilla.gnome.org/show_bug.cgi?id=663073
2011-11-11 23:08:18 -05:00
Matthias Clasen
fcd5e44e15 Pop up context menus at the right device
When multiple pointers are in play, we need to be careful
not to loose track of the device between receiving a button
press and popping up a menu.

https://bugzilla.gnome.org/show_bug.cgi?id=663396
2011-11-11 23:08:18 -05:00
Matthias Clasen
73b34cbe18 Don't use deprecated Pango api 2011-11-11 23:08:18 -05:00
Matthias Clasen
b463530a72 Don't use deprecated Pango api 2011-11-11 23:08:18 -05:00
Cosimo Cecchi
a53a30c7f8 iconview: layout items immediately when setting a GtkTreeModel
As the draw handler expects the items to be laid out already, we cannot
queue a layout here to avoid a race condition with the resize that is
queued immediately after, which in turn would lead to a segfault later
in the paint_item() implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=663138
2011-11-11 23:08:18 -05:00
Emmanuele Bassi
988f374151 radiotoolbutton: Fix the introspection annotations
Everything that deals with a group has to be fixed.

Plus, we have NULL checks without allowing NULL arguments; since NULL
arguments are perfectly fine, we can relax the argument checks.

https://bugzilla.gnome.org/show_bug.cgi?id=662870
2011-11-11 23:08:18 -05:00
Emmanuele Bassi
96e95d0a9f radiotoolbutton: Fix the annotation for get_group()
Use the same annotation used by gtk_radio_button_get_group().

https://bugzilla.gnome.org/show_bug.cgi?id=662870
2011-11-11 23:08:18 -05:00
Matthias Clasen
b4b8a969f4 Print dialog: small keynav improvement
Mark the page range entry and the copies spin button as
activates-default.

https://bugzilla.gnome.org/show_bug.cgi?id=662670
2011-11-11 23:08:18 -05:00
Matthias Clasen
b4120d6f25 Update grid tests to match
The previous fix changed some test results here.
2011-11-11 23:08:18 -05:00
Matthias Clasen
9a16a83c95 Fix gtk_grid_attach_next_to
The function did not behave as intended when @sibling is NULL.
Also add an example to the docs to clarify the intended behaviour.
2011-11-11 23:08:18 -05:00
Michael Natterer
e9dfc997a0 quartz: fix a race condition when waking up the CGRunLoop
Wake up the run loop unconditionally (don't check if it is waiting) because
it might go into waiting state right after we checked for it. Fixes GIMP
startup (which has a lot of GIOChannel I/O but zero NSEvents) from several
minutes to a few seconds.
(cherry picked from commit 0729cdc9a1)
2011-11-11 23:56:10 +01:00
Kristian Rietveld
0f6ec6e76d Bug 661997 - Gtk crashes when changing the TreeView model while ...
Simply stopping rubber banding in gtk_tree_view_set_model() eliminates
the crash.  Reported by Thomas Perl.
(cherry picked from commit 91ae19768e)
2011-11-09 08:47:18 +01:00
Michael Natterer
5deb446b50 quartz: include all buttons' state in GdkEventMotion.state
(cherry picked from commit 3b5c5710da)
2011-11-09 00:36:55 +01:00
Michael Natterer
e0d2525a52 quartz: include all buttons' states in GdkEventButton.state
(cherry picked from commit a381e8ea62)
2011-11-09 00:27:18 +01:00
Michael Natterer
73d9ee0e62 Bug 663605 - Fix event->state of many event types on quartz
Don't try to remember the current keyboard modifier and mouse button
states from the last event, because that isn't always right, and don't
set event.state = 0 for generated events. Instead, add private functions
to get the current states, and implement them with API that retrieves
these states independently from an event.
(cherry picked from commit 264241eb11)
2011-11-08 21:55:10 +01:00
John Ralls
9d900681d7 [Quartz Bug 663182] NSImage throws an exception from _gtk_quartz_create_image_from_pixbuf()"
If a zero-sized NSImage calls lockfocus it throws an exception. Make sure that the image isn't zero-sized before calling lockfocus, and log a warning and return NULL if it is zero-sized.

Have the quartz version of gtk_drag_begin_idle return FALSE if the returned image is NULL.
2011-11-07 14:27:09 -08:00
Stef Walter
9d2963f469 gtk: GtkToolbar returns invalid paths when adding tool items
* Calculate siblings_path on demand, so that it's always correct
   and doesn't get out of sync with the toolbar state.

https://bugzilla.gnome.org/show_bug.cgi?id=662177
2011-11-07 17:16:50 -05:00
Benjamin Otte
a8b315f41f toolbar: Fix widget path creation code
- Ensure arrow button is always included
- Invalidate list when direction changes
2011-11-07 17:16:27 -05:00
Michael Natterer
273283db92 gdk: exclude MOD1 from the virtual modifier mapping
which effectively nails down the MOD1 == ALT assumption that is valid
in all other parts of GTK+. After the modifier abstraction fixes for
OSX, the virtual mapping is now (correctly) used in more places, and
caused problems with the common default PC keyboard layout on X11 that
colocates ALT and META on the same key.
(cherry picked from commit ac943bf69a)
2011-11-07 20:14:33 +01:00
Michael Natterer
ef9a92d225 quartz: handle recursive CFRunLoops
Fixes e.g. crashs when dropping from finder.

Turn the "getting_events" boolean into a counter to handle poll_func()
being called recursively, and track the loop depth correctly by
changing its counter before bailing out in run_loop_observer_callback().
This way we reallocate our autorelease pool at the right time, and
don't kill memory that is still in use by outer run loops.

Also drain, not release the pool, just for some defensive forward
compatibility.
2011-11-06 23:30:28 +01:00
Alexander Larsson
7b06b81306 Make sure we only show icons in the file selector bookmarks toolbar
This looked really bad in non-gnome settings where default is to
show text too.
(cherry picked from commit c002c83ec5)
2011-11-02 14:49:14 +01:00
Michael Natterer
1481aac73f gtkrc.key.mac: add Command-cursor text navigation
and some emacs-ish Control bindings that work in native widgets.
Patch from Michael Hutchinson.
(cherry picked from commit ccf12f7b40)
2011-10-25 22:25:37 +02:00
Michael Natterer
b246dc21c6 gtkrc.key.mac: remove half the file, it was an accidential double paste
(cherry picked from commit 79a92f99a9)
2011-10-25 17:03:37 +02:00
Michael Natterer
0fd83a217b quartz: don't return FALSE from GdkDevice::query_state()
Not finding a child window to return is not a failure.
(cherry picked from commit 077b366879)
2011-10-22 23:27:03 +02:00
Michael Natterer
b292ecef1f gtkquartz: don't free the string returned by get_bundle_path()
It's statically allocated.
(cherry picked from commit c040b03c2e)
2011-10-22 23:10:38 +02:00
André Gondim
f4dfcefbd5 Fixed some strings in Brazilian Portuguese translation 2011-10-17 10:06:27 -02:00
Jiro Matsuzawa
194303fc8f Updated Japanese translation 2011-10-17 01:25:41 +09:00
Bruce Cowan
e5b30eecaf Updated British English translation 2011-10-16 14:45:05 +01:00
John Ralls
f5cc6dbdfa Bug 658772: Directory paths for resource directories are hard coded.
Corrected formatting to match coding standards; introduced local statics
to prevent leaking returned strings.
2011-10-15 12:45:37 -07:00
Matthias Clasen
b433772b03 bump version 2011-10-14 16:36:01 -04:00
Matthias Clasen
4e99d8d090 Fix more test breakage 2011-10-14 15:52:24 -04:00
Matthias Clasen
0594d4e349 Updates 2011-10-14 12:37:48 -04:00
Matthias Clasen
756c3a09af Fix make check
Somebody committed a behaviour change that broke his own
tests...tsk, tsk.
2011-10-14 11:43:40 -04:00
Matthias Clasen
1d3fc6c0c0 Add a css parser test for transparent 2011-10-14 11:37:02 -04:00
Chun-wei Fan
a3344ef699 Bug 660730: Win32: Only use _fstat32 if available
_fstat32 is only introduced with msvcrt80.dll (i.e. Visual C++ 2005),
in which using this function will break compilation with MinGW,
which links against msvcrt.dll.  The msvcrt.lib in the Windows DDK
which links to a later incarnation of the msvcrt.dll in later Windows
systems may have this symbol defined, but that needs to be checked
upon to be sure.

Thanks to Dieter Verfaillie for pointing out this problem.
2011-10-12 11:42:43 +08:00
John Ralls
68135b53fc Bug 658767 - Drag and Drop NSEvent capture is racy
Create a synthetic NSMouseLeftDown to store in the GtkQuartzDragSourceInfo
rather than relying on the NSWindow's latest event being the right one (or the
right kind).
2011-10-09 11:28:13 -07:00
Kristian Rietveld
436547a80e Bug 657770 - Write to released memory in gtkdnd-quartz.c
Clear the Drag paste board just before the info->context is released.
This way the GtkDragSourceOwner is released just before the drag context
is and thus can pasteboard:provideDataForType: not accidentally access
an already released drag context
2011-10-09 11:28:13 -07:00
Alex Corrado
9aa26f0d64 Quartz, Bug 655057: Eliminate Compiler Warning
When compiled with older SDKs, the original change for this bug caused a
compiler warning about NSWindow not being able to handle a setStyleMask
message. This tricks the compiler into thinking that it can.
2011-10-09 10:06:54 -07:00
John Ralls
48791fd514 Bug 658772: Directory paths for resource directories are hard coded.
Provide dynamic path discovery functions as are provided for win32.
2011-10-08 15:05:41 -07:00
Rudolfs Mazurs
32ec6ad073 Updated Latvian translation. 2011-10-09 00:09:03 +03:00
Kristian Rietveld
296c534663 quartz: also update window position on windowDidResize
When a window goes fullscreen, the resize also changes its size.
(cherry picked from commit d172f1ce22)
2011-10-08 11:48:48 +02:00
Wouter Bolsterlee
cb35b3166e Updated Dutch translation by Wouter Bolsterlee 2011-10-08 00:42:19 +02:00
Rachid
7276fbc1d1 Updated Dutch translation by Rachid 2011-10-08 00:42:15 +02:00
Michael Natterer
31863fc1b4 gtk: also define the default *virtual* accel mod mask
and use it in stock items and GtkAccelGroup. Change the non-virtual
one to MOD2 on OSX, so hardcoded accelerators in the IM context and
the treeview work.
(cherry picked from commit 21e971b3cb)
2011-10-07 20:29:54 +02:00
Michael Natterer
f46c1b76d8 gdk: fix gdk_keyval_to_lower/upper() for Quartz, Win32 and Broadway
In 2.x, the !HAVE_XCONVERTCASE fallback of keyval_convert_case() was
implicitly used as implementation for all !X11 backends.

In 3.x, when this function was virtualized in GdkDisplayManager,
this fallback was moved to the X11 backend and the other backends
"equipped" with /* FIXME implement */ implementations of
keyval_convert_case() which don't convert anything.

Move the fallback code back to gdk/ as default implementation
of GdkDisplayManager::keyval_convert_case() and remove its
implementations is all backends but X11. Also remove the
implementation is Wayland which was a plain copy of what
is now the default implementation.
2011-10-07 16:10:19 +02:00
Fran Dieguez
eaecf396bf Updated Galician translations 2011-10-07 01:30:08 +02:00
John Ralls
a628761838 Bug 628936: Minimal change to pass introspection.
gobject_introspection's G-ir-scanner doesn't like the -xobjective-c
option needed to compile ObjectiveC features in quartz implementations
of certain gtk functions. This rearranges the compiler flag environment
variables in Makefile so that G-ir-scanner doesn't see them.
2011-10-04 17:17:30 -07:00
Tristan Van Berkom
126adb6ef3 Fixed gtk_cell_area_stop_editing() to properly notify when editing is not canceled
This fixes bug 653289, in gtk+-2 gtk_tree_view_stop_editing() was previously
responsible for notifying with gtk_cell_editable_editing_done(), this detail
was missed when porting the cell renderer management to GtkCellArea.
2011-10-04 14:16:00 -04:00
Nicolás Lichtmaier
932ad8ad29 Updated Spanish translation, fixes bug #659655 2011-10-03 23:22:51 +02:00
Kristian Rietveld
bcfb7a6cdd Bug 659022 - gtk_tree_model_filter_clear_cache_helper: assertion failed
This bug is resolved by fixing two things in
gtk_tree_model_filter_row_deleted():

  (1) It is possible for an elt to have elt->visible_siter == NULL, when
  it is deleted.  Only call g_sequence_remove() if this pointer is
  non-NULL.

  (2) For the case len (level->seq) > 1, free the elt->children level
  if non-NULL.  Failing to do this means the level will stick around.
  If this child level was not referenced, it will still have a zero
  ref count on its parent which cannot be removed!

For both bugs unit tests have been added in the preceding commit.
2011-10-03 23:02:54 +02:00
Kristian Rietveld
a9b9699bde Add two more unit tests for bug 659022
Both pointing out problems in gtk_tree_model_filter_row_deleted().
2011-10-03 23:02:50 +02:00
Kristian Rietveld
51b11b36a4 Fix first part of bug 659022
Push creation of path into if clause, the path cannot be created anyway
(and would be meaningless otherwise) if the parent is not visible.
2011-10-03 23:02:45 +02:00
Kristian Rietveld
59a015fb85 Add unit test for part 1 of bug 659022
This tests a case where gtk_tree_model_filter_row_changed() is run
for a node with visible_siter != NULL, however its parent has
visible_iter == NULL. For this case, no valid paths can be generated
as the node cannot be accessed (because the parent is invisible).
2011-10-03 23:02:39 +02:00
Kristian Rietveld
bba6657bb5 Fix commit 5e41964965
Where the commit suggested "somebody should review it [the test]",
it would have been useful to test this particular commit instead...
2011-10-03 23:02:25 +02:00
Benjamin Otte
5e41964965 tests: Fix a bunch of set-but-unused warnings in the filtermodel test
The whole test doesn't seem to unref any memoery, somebody should review
it.
2011-10-03 18:05:57 +02:00
Benjamin Otte
04c42b6e53 iconcache: Fix gcc warning 2011-10-03 18:03:57 +02:00
Benjamin Otte
e248c6812e a11y: Hack around infinite loops in parent setting
This is kind of a hack to get rid of infinite loops that occur when
child accessibles try to set their parent upon creation but the parent
accessible creates its children in the initialize vfunc. Because in that
case, the parent will not have an accessible set when the child tries to
access it, because it is still initializing itself. Which will cause a
new accessible to be created.

https://bugzilla.gnome.org/show_bug.cgi?id=660687
2011-10-03 17:29:12 +02:00
Chun-wei Fan
ff6983e400 Bug 660730: Use GStatBuf for portability
Thanks to Kean Johnston for pointing this out.

There are a few places in GTK that use "struct stat",
and then g_stat(), rather than using GStatBuf.This breaks things on
Windows. Since the size of struct stat can vary depending on other
flags specified, this has the potential to cause overwrites and is
trivial to fix.

Based on patch submitted by Kean Johnston
2011-10-03 23:27:48 +08:00
Adel Gadllah
1edd94a950 gdk: Plug leak in gdk_display_pointer_is_grabbed
gdk_x11_device_manager_core_list_devices returns a new allocated
list, which has to be freed.

valgrind output:

==18686== 160,176 (80,088 direct, 80,088 indirect) bytes in 3,337 blocks are definitely lost in loss record 25,347 of 25,378
==18686==    at 0x4C256DD: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==18686==    by 0x6CD7752: g_malloc (in /lib64/libglib-2.0.so.0.3000.0)
==18686==    by 0x6CEE2B6: g_slice_alloc (in /lib64/libglib-2.0.so.0.3000.0)
==18686==    by 0x6CCB37D: g_list_prepend (in /lib64/libglib-2.0.so.0.3000.0)
==18686==    by 0x654CADA: gdk_x11_device_manager_core_list_devices (gdkdevicemanager-core-x11.c:836)
==18686==    by 0x6531489: gdk_display_pointer_is_grabbed (gdkdisplay.c:1270)
==18686==    by 0x5162E1E: filter_func (ui.c:140)
==18686==    by 0x6558B50: gdk_event_apply_filters (gdkeventsource.c:83)
==18686==    by 0x6558CB3: _gdk_x11_display_queue_events (gdkeventsource.c:197)
==18686==    by 0x6530680: gdk_display_get_event (gdkdisplay.c:311)
==18686==    by 0x65589F1: gdk_event_source_dispatch (gdkeventsource.c:356)
==18686==    by 0x6CD0A0E: g_main_context_dispatch (in /lib64/libglib-2.0.so.0.3000.0)

https://bugzilla.gnome.org/show_bug.cgi?id=660676
2011-10-03 14:25:55 +02:00
Tiffany Antopolski
a93793dca3 Updated Esperanto translation 2011-10-03 13:38:06 +02:00
Nguyễn Thái Ngọc Duy
483d8f3446 Updated Vietnamese translation 2011-10-01 20:10:25 +10:00
Nguyễn Thái Ngọc Duy
58e1481d38 po/vi: import from Damned Lies 2011-10-01 20:10:23 +10:00
Michael Natterer
64a7fc279c quartz: don't filter away directly encoded 24-bit UCS characters
gdk_unicode_to_keyval(uc) returning (uc | 0x01000000) is not an
error return value but simply the way to encode 24-bit unicode
characters directly as keyvals.
(cherry picked from commit 0a13deae88)
2011-09-28 13:58:52 +02:00
YunQiang Su
e35e112ea9 update zh_CN translation 2011-09-28 01:34:08 +08:00
Piotr Drąg
4fa78201a1 Updated POTFILES.skip 2011-09-27 16:07:35 +02:00
Benjamin Otte
89d16a5123 reftests: Add a reftest checking background-color: transparent 2011-09-26 22:34:20 +02:00
Rodolfo Ribeiro Gomes
c7f2c88b18 Fixed some strings in Brazilian Portuguese translation 2011-09-26 15:46:00 -03:00
Michael Natterer
b663f3a00b Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-26 16:01:50 +02:00
Michael Natterer
0955a59563 app: abstract which modifiers are used for extending and modifying selections
which are SHIFT and MOD2 on the Mac, and SHIFT and CONTROL otherwise.
Use the new define all over the place and rename variables and
members to not say "shift" or "control".
2011-09-26 16:01:50 +02:00
Michael Natterer
286fff4e5f gtk: use GTK_NO_TEXT_INPUT_MOD_MASK also in gtkfilechooserdefault.c
(cherry picked from commit b057a311e7)
2011-09-26 16:01:50 +02:00
Michael Natterer
24a42839ba gtk: allow to specify accelerators in a platform-independent way
Introduce <Primary> in accelerator strings, which resolves to
GDK_CONTROL_MASK on X11/Win23, and to GDK_META_MASK on quartz.
Also serialize CONTROL/META as <Primary> depending on the platform.
2011-09-26 16:01:50 +02:00
Michael Natterer
2a8be23d17 gtk: fix entering of Option-foo symbols on the Mac
define GTK_NO_TEXT_INPUT_MOD_MASK in gtkprivate.h
and use it in the IM contexts, so Option-foo is no longer
filtered away.
2011-09-26 16:01:50 +02:00
Michael Natterer
d3df4678ca gtk: use GTK_DEFAULT_ACCEL_MOD_MASK instead of GDK_CONTROL_MASK in gtkstock.c 2011-09-26 16:01:50 +02:00
Michael Natterer
a99d14f61c quartz: resolve the modifier confusion on the Mac
- map Alt/Option to MOD1
- map Command to MOD2
- map MOD2 to the virtual Meta
- improve/fix (?) group handling in gdkkeys-quartz.c
2011-09-26 16:01:50 +02:00
Michael Natterer
c50063397f gtk: disable mnemonics in gtkrc.key.mac, they don't exist on the Mac
(cherry picked from commit d83c86d42e)
2011-09-26 16:01:50 +02:00
Michael Natterer
3fd7dbc940 gtk: enable setting virtual modifiers in GtkCellRendererAccel
Call gdk_keymap_add_virtual_modifiers() on event->state,
so virtual modifiers get added at all.
(cherry picked from commit be1eea612c)
2011-09-26 16:01:50 +02:00
Benjamin Otte
b01e20f1d1 cssprovider: Remove unused enums 2011-09-26 16:00:26 +02:00
Benjamin Otte
1e36e40e29 styleproperty: Allow 'transparent' keyword for background-color 2011-09-26 16:00:26 +02:00
Benjamin Otte
205d0eb4da styleproperty: Default to transparent background-color 2011-09-26 16:00:26 +02:00
Benjamin Otte
61525f0662 styleproperty: Use the long form to register background-color
We want to set a default value.
2011-09-26 16:00:25 +02:00
Carles Ferrando
6476f6a265 [l10n]Updated Catalan (Valencian) translation 2011-09-26 14:22:19 +02:00
Carles Ferrando
d026fd4a04 [l10n]Updated Catalan (Valencian) translation 2011-09-26 14:22:01 +02:00
Petr Kovar
33c43c9264 Update Czech translation 2011-09-26 12:20:49 +02:00
Matthias Clasen
70b13d734d Bump version 2011-09-25 22:01:13 -04:00
Matthias Clasen
c9beb22f7b 3.2.0 2011-09-25 22:00:20 -04:00
Matthias Clasen
420a09363c Updates 2011-09-25 21:13:33 -04:00
Matthias Clasen
5ff8fe6971 Documentation fixes
Mostly making sure that return values and varargs don't loose
their docs.
2011-09-25 21:04:49 -04:00
Michael Natterer
a6151ebb95 GtkBox: make get_path_for_child() work if there are internal children
Use foreach() instead of forall() to find the child's siblings
because internal children of subclasses have no sibling relation
to the box' children. Also deal with the subclass failing to
implement get_path_for_child(). This caused an infinite widget
path invalidation loop of sorts with GimpMessageBox, which is a
vertical box with a decorative icon to the left.
2011-09-26 00:52:28 +02:00
Petr Kovar
66becfdab1 Update Czech translation 2011-09-25 23:57:51 +02:00
Pau Iranzo
874b7207b0 [l10n]Updated Catalan translation 2011-09-25 23:39:17 +02:00
Gil Forcada
aa62d0f334 [l10n]Updated Catalan translation 2011-09-25 23:11:05 +02:00
OKANO Takayoshi
8b9601df17 Updated Japanese translation 2011-09-26 01:23:22 +09:00
Michael Natterer
c7cf1f531d GtkTreeViewColumn: fix x_offset returned by cell_get_position()
Fixes #640741 - gtk_tree_view_column_get_cell_position() seems to be broken

It is supposed to return the offset within the column, but returned
the offset within the tree, changed by allocation.x of the column's
button (which I don't really unserstand and was clearly not working).
2011-09-25 17:45:57 +02:00
Michael Natterer
33f7754a71 GtkTreeViewColumn: fix return value of gtk_tree_view_column_cell_get_position()
Return FALSE again if the passed in cell is not part of the column.
It was always returning TRUE since GtkCellArea was introduced.
2011-09-25 14:55:23 +02:00
Alexander Shopov
1c993d52b8 Updated Bulgarian translation 2011-09-25 14:53:52 +03:00
ipraveen
8725dca380 Updated Telugu Translation 2011-09-25 14:07:55 +05:30
ipraveen
8c7dca8c79 Updated Telugu Translation 2011-09-25 12:29:17 +05:30
ipraveen
021c4d7e2e Updated Telugu Translation 2011-09-25 12:04:12 +05:30
Kenneth Nielsen
29fe165511 Updated Danish translation 2011-09-24 22:19:37 +02:00
Kenneth Nielsen
e19d620267 Updated Danish translation 2011-09-24 14:51:00 +02:00
Matthias Clasen
65ee452a99 Add some missing entries to the docs 2011-09-23 22:18:44 -04:00
Matthias Clasen
39acc6488a Updates 2011-09-23 21:06:23 -04:00
Aurimas Černius
c91be5893b Updated properties Lithuanian translation 2011-09-24 00:32:27 +03:00
Aurimas Černius
e994543ee7 Updated Lithuanian translation 2011-09-24 00:29:50 +03:00
Matthias Clasen
dd82b30433 Fix module blacklisting
The handling of the module lists is a bit confusing here. There is
a global list that is populated with initial modules from GTK_MODULES,
and then there is a second list that is suppposed to hold the modules
loaded from the gtk-modules xsetting, which we attach to the GtkSettings
object. The blacklisting caused us to put the wrong modules into the
second list, and mess up the module refcounts, eventually double-freeing
memory when the setting changes repeatedly.

https://bugzilla.gnome.org/show_bug.cgi?id=659966
2011-09-23 16:42:45 -04:00
Benjamin Otte
bd8e9085ab textview: Fix comparison being the wrong way
Keynav failed when the position did _not_ change.
2011-09-23 22:24:00 +02:00
Alban Crequy
6ab7b87a02 gtktreeviewaccessible: do not trigger an assertion
The following assertion was triggered in model_row_inserted() because
iterate_thru_children() modifies the parameter tree_model before passing it to
traverse_cells().

Gtk-CRITICAL **: gtk_tree_path_compare: assertion `b->depth > 0' failed

The stack with the bug was:

  #0  gtk_tree_path_compare at gtktreemodel.c
  #1  traverse_cells at gtktreeviewaccessible.c
  #2  model_row_inserted at gtktreeviewaccessible.c

This patch calls iterate_thru_children() with a copy of the path so that the
original is not modified.
2011-09-23 12:04:39 -04:00
Bastien Nocera
a0fc947f89 GtkAssistant: Fix problems with gtk_widget_show_all()
gtk_widget_show_all() would have shown every single item inside
the GtkAssistant sidebar, as well as all the navigation buttons.

https://bugzilla.gnome.org/show_bug.cgi?id=659826
2011-09-23 12:45:09 +01:00
Christian Persch
370f0d1d86 Disable font fallback in the fontchooser preview
The preview is should show the selected font, not whatever
font contains glyphs for the preview text.
2011-09-23 00:32:44 +02:00
Benjamin Otte
7c675b34c5 fontbutton: Properly display absolute sizes
Display them the same way as Pango does.
2011-09-22 21:44:06 +02:00
Benjamin Otte
d5bc1b66d2 fontbutton: Properly update label after property changes
Previously, the font wasn't properly updated after some changes.
2011-09-22 21:44:05 +02:00
Benjamin Otte
19623af04e fontbutton: Display the same text as elsewhere
In particular, display names of families that don't have an installed
font.
2011-09-22 21:44:05 +02:00
Benjamin Otte
18a6d9803e fontchooser: Use fixed height mode for the font face list
Now that we enforce same height anyway, this just further speeds things
up.
2011-09-22 21:44:05 +02:00
Benjamin Otte
1892c64acc fontchooser: Set a fixed size on the preview cell
This way, all rows have the same height. It has 3 advantages:
1) No actual computation is necessary to compute the size of the cell.
   This speeds up the list tremendously (filling out the list goes from
   25s to 3s).
2) Buggy fonts don't mess up the list anymore with their weird sizes.
   Instead, they are clipped / empty space is added.
3) Buggy fonts look more buggy. So their use is hopefully discouraged.
2011-09-22 21:44:05 +02:00
Benjamin Otte
59fbfd6205 fontchooser: Split out computing of the preview text attributes 2011-09-22 21:44:05 +02:00
Benjamin Otte
c1958ae9f2 fontchooser: Use absolute size for the preview text in the list
With absolute sizes, Pango is way better at getting the actual sizes of
the fonts to match up. It's a bit harder to compute a proper value for
this, whcih makes the code ugly, but as long as it works better...
2011-09-22 21:44:05 +02:00
Benjamin Otte
14154dac31 fontchooser: Set cell data as text + attributes instead of markup
This is quite a bit uglier, but allows more freedom.
2011-09-22 21:44:05 +02:00
Benjamin Otte
38af387ee3 fontchooser: Reselect font when it's unfiltered 2011-09-22 21:44:05 +02:00
Benjamin Otte
c9ef2d019e fontchooser: Only compare font descriptions when families match
This way, we can find fonts way quicker as we only need to create font
descriptions for fonts with matching families. Most importantly, we're
rather quick in the "the font doesn't exist" case.
2011-09-22 21:44:05 +02:00
Benjamin Otte
7d5d0a19e7 fontchooser: Only create font descriptions on demand
pango_font_describe() is expensive, so try not to use it.
2011-09-22 21:44:05 +02:00
Benjamin Otte
a40d0b44e1 fontchooser: Make all setters go through merge_font_desc()
Don't special case cursor_changed anymore.
2011-09-22 21:44:05 +02:00
Benjamin Otte
af8c3fe98e fontchooser: Update range marks properly
Range marks weren't updated previously when the font was set
programmatically. Also, setting the range marks could cause the font
size to change.
2011-09-22 21:44:05 +02:00
Benjamin Otte
59298d9e82 fontchooser: Reorganize code a bit
The main reason is so that we have a new function that we can use from
the cursor_changed_cb.
2011-09-22 21:44:05 +02:00
Benjamin Otte
132ccf021f fontchooser: Don't store the current face and family anymore
They can be queried on-demand from the font list.
2011-09-22 21:44:05 +02:00
Benjamin Otte
7cf53a9f60 fontchooser: Take font description from model
... instead of taking face and constructing it from there.
2011-09-22 21:44:05 +02:00
Benjamin Otte
2b83d03604 fontchooser: Sanitize variable declarations
- no empty lines between variables
- no unnecessary casts
- use glib-style casts
- no spaces
2011-09-22 21:44:05 +02:00
Benjamin Otte
5a5737e3b6 fontchooser: Fix leak
the path variable is set, not filled in.
2011-09-22 21:44:05 +02:00
Benjamin Otte
a124d17825 fontchooser: Store an iter to the current font
Note that we cannot use GtkTreeSelection for this, because when the font
list is filtered the current font may not be visible.
2011-09-22 21:44:05 +02:00
Morten Welinder
9d96830571 cssprovider: Remove outdated docs 2011-09-22 21:44:05 +02:00
Benjamin Otte
6499088f7f fontchooser: Store tree model member variables as GtkTreeModel
... and remove the now unnecessary treemodel casts everywhere.

Just code cleanup.
2011-09-22 21:44:05 +02:00
Benjamin Otte
3d87ee7716 fontchooser: Rename populate_list() function
Name it gtk_font_chooser_widget_load_fonts(). Also, don't take any
arguments, they were the same everywhere and they're member variables of
the font chooser anyway.
2011-09-22 21:44:04 +02:00
Benjamin Otte
6cbbc789d5 fontchooser: Make changing the preview text fast
Instead of reloading the font list, we now just queue a redraw. This
works, because the preview text is added using a cell data func instead
of a custom column.
2011-09-22 21:44:04 +02:00
Benjamin Otte
5834691e69 fontchooser: Use a cell_data_func for the font list
This way, we don't have to store the preview text in the list.
2011-09-22 21:44:04 +02:00
Benjamin Otte
3a77b7e005 fontchooser: Don't scroll in the populate_list() function 2011-09-22 21:44:04 +02:00
Benjamin Otte
ded10365a1 fontchooser: Remove needless scroll calls
Previous functions take care of scrolling already.
2011-09-22 21:44:04 +02:00
Benjamin Otte
3af04c1dce fontchooser: Introduce gtk_font_chooser_find_font()
... which looks up the font in the list of fonts. This then can be used
to select an actual font upon changes.

Also fixes cases where the get_family() and get_face() functions would
return outdated data when set_font() had been called.
2011-09-22 21:44:04 +02:00
Benjamin Otte
fe8ed0a3f6 fontchooser: Rewrite size changes
They now go through gtk_font_chooser_widget_take_font_desc(). The end
goal is to make all changes go through this function, so that all
updates that are happening are easy to track.

Another change is that the code now merges the font description instead
of just using the new one. This avoids weird situations when people set
the font "Bold" for example, which has neither a size nor a font family.
2011-09-22 21:44:04 +02:00
Benjamin Otte
af5f593b6d fontchooser: Fix size computation 2011-09-22 21:44:04 +02:00
Benjamin Otte
8f33324750 fontchooser: Fix gcc warnings 2011-09-22 21:44:04 +02:00
Changwoo Ryu
aeace5d005 Updated Korean translation 2011-09-23 03:01:11 +09:00
Daniel Nylander
a861fa0f92 Updated Swedish translation 2011-09-22 16:37:26 +02:00
Daniel Nylander
0c33f0e958 Updated Swedish translation 2011-09-22 16:37:16 +02:00
Daniel Nylander
e4bf7a2a3c Updated Swedish translation 2011-09-22 16:37:16 +02:00
Antonio Fernandes C. Neto
4403cf0567 Updated Brazilian Portuguese translation. 2011-09-22 10:30:55 -04:00
Manoj Kumar Giri
2ea4cef672 Updated Oriya Translation 2011-09-22 19:36:41 +05:30
Nilamdyuti Goswami
ee1bd4cc6d Update Assamese translation 2011-09-22 12:44:58 +02:00
Mario Blättermann
349e9cce9a [l10n] Updated German translation 2011-09-22 08:34:07 +02:00
Bruno Brouard
2c704dd1a1 Updated French translation 2011-09-21 20:14:03 +02:00
Inaki Larranaga Murgoitio
9dfb837019 Updated Basque language 2011-09-21 18:04:18 +02:00
Inaki Larranaga Murgoitio
013456187e Updated Basque language 2011-09-21 17:58:45 +02:00
Antoine Jacoutot
3d165c1a90 gtkmountoperation-x11: unbreak compilation on OpenBSD.
Add missing header to prevent undeclared definitions.
Bug #659565
2011-09-21 16:02:33 +02:00
Duarte Loreto
c64797fe26 Updated Portuguese translation 2011-09-21 00:59:41 +01:00
Gabor Kelemen
0682c4015f Updated Hungarian translation 2011-09-21 00:54:18 +02:00
Rudolfs Mazurs
2b02a4c342 Updated Latvian translation. 2011-09-20 22:30:01 +03:00
Mario Blättermann
4e4a362234 [l10n] Updated German translation 2011-09-20 20:47:32 +02:00
Gabor Kelemen
e26101adaa Updated Hungarian translation 2011-09-20 19:43:05 +02:00
Piotr Drąg
0f9f9ec788 Updated Polish translation 2011-09-20 17:32:11 +02:00
Piotr Drąg
8def2dc162 Updated Polish translation 2011-09-20 17:30:06 +02:00
Antonio Fernandes C. Neto
34490abc84 Updated Brazilian Portuguese translation 2011-09-20 12:04:44 -03:00
Matej Urbančič
8977275f28 Updated Slovenian translation 2011-09-20 13:23:30 +02:00
Daniel Mustieles
49c1580b70 Updated Spanish translation 2011-09-20 10:59:57 +02:00
Yuri Myasoedov
f43a8675b8 Updated Russian translation 2011-09-20 12:05:06 +04:00
Xavier Claessens
0561c7a68d GtkTreeModelFilter: Fix build warnings
https://bugzilla.gnome.org/show_bug.cgi?id=659441
2011-09-20 09:06:54 +02:00
Fran Dieguez
7bd7c02a11 Updated Galician translations 2011-09-20 01:27:13 +02:00
Matthias Clasen
d48542e1cd Bump version 2011-09-19 18:03:11 -04:00
Matthias Clasen
9bf03f57da 3.1.92 2011-09-19 17:39:00 -04:00
Matthias Clasen
aba75fdc95 Updates 2011-09-19 16:39:58 -04:00
Piotr Drąg
8537b1cefa Updated Polish translation 2011-09-19 22:21:53 +02:00
Benjamin Otte
34f9e6a0f3 fontchooser: Remove special case for a single signal handler 2011-09-19 22:11:06 +02:00
Benjamin Otte
a4c3271854 fontchooser: Remove useless code
gtk_adjustment_set_value() clamps itself, no need to do the clamping.

But I was impressed at the amount of comments.
2011-09-19 22:11:06 +02:00
Benjamin Otte
e465023051 fontchooser: Don't store the size separately
Instead, use the font description's size.
2011-09-19 22:11:06 +02:00
Benjamin Otte
6552a8245b fontchooser: Don't reload the fonts on style changes
It's not necessary, because nothing changes.
2011-09-19 22:11:06 +02:00
Benjamin Otte
64d3350264 fontchooser: Assume NULL screen means the default screen
... and update the font list only when the screen actually changes.
2011-09-19 22:11:06 +02:00
Benjamin Otte
ae5f82e455 fontchooser: Store the font description in the model
It's actually expensive to create (>5ms per font with >1000 fonts
installed), so better cache it.
2011-09-19 22:11:06 +02:00
Benjamin Otte
6d8010d3d4 fontchooser: Move the filter func to the visibility func
... instead of rereading all the fonts every time.

With this change, the liststore now contains every font face known to
GTK, so we can actually walk it for matching fonts.
2011-09-19 22:11:06 +02:00
Benjamin Otte
d88b7a6d6b fontchooser: Fix code to make it not look like GTK 0.9 2011-09-19 22:11:06 +02:00
Benjamin Otte
b95bbb5e39 fontchooser: List font description as font description
Otherwise there will be two properties listed as "Font" in property
selectors (in Glade or testfontchooser).
2011-09-19 22:11:05 +02:00
Benjamin Otte
a5f516c818 fontchooser: Family or face can never be NULL
... so there's no need to special-case those situations.
2011-09-19 22:11:05 +02:00
Benjamin Otte
fb2bc139bb fontchooser: Use gtk_list_store_insert_with_values()
... instead of append() + set_values()
2011-09-19 22:11:05 +02:00
Benjamin Otte
824aeb77c6 fontchooserwidget: Simplify function
- Don't do unnecessary casts
- Fix weird variable declaration indenting
- Fix loop indentation
- Use a for loop for iterating over a list, instead of a while loop
- Casefold font name only once, instead of every iteration
- Remove needless true_var = true_var && TRUE assignment
2011-09-19 22:11:05 +02:00
Bruce Cowan
7a34a5971e Updated British English translation 2011-09-19 13:11:23 +01:00
Chris Coulson
22cd009ef7 GtkPaned: Create the child window at the correct position
When there is only a single child, create its window at the correct position
https://bugzilla.gnome.org/show_bug.cgi?id=659241
2011-09-19 12:28:59 +01:00
Мирослав Николић
68e943506e Updated Serbian translation 2011-09-19 03:08:22 +02:00
Rudolfs Mazurs
e79647c45d Updated Latvian translation. 2011-09-18 20:55:24 +03:00
Daniel Nylander
b178259235 Updated Swedish translation 2011-09-18 19:35:34 +02:00
Wolfgang Stöggl
8f8b394c96 [l10n] Updated German translation 2011-09-18 17:37:42 +02:00
Wolfgang Stöggl
23db27831c [l10n] Updated German translation 2011-09-18 17:34:19 +02:00
Ihar Hrachyshka
a7b21b1644 Updated Belarusian translation (some fixes after manual testing). 2011-09-17 23:28:39 +03:00
Ihar Hrachyshka
a846518f81 Updated Belarusian translation (some fixes after manual testing). 2011-09-17 22:51:32 +03:00
Alexander Shopov
c0f9d302ec Updated Bulgarian translation 2011-09-17 22:14:15 +03:00
Xandru Armesto
cf210a87d7 Updated asturian translation 2011-09-17 19:03:55 +02:00
Djavan Fagundes
51da151a6f Fixed a string translated to Brazilian Portuguese 2011-09-17 12:04:13 -03:00
Matej Urbančič
d8702b395d Updated Slovenian translation 2011-09-17 11:01:15 +02:00
Matej Urbančič
5a59a1f542 Updated Slovenian translation 2011-09-17 10:55:24 +02:00
Martin Srebotnjak
a376dcc190 Updated Slovenian translation 2011-09-17 09:48:31 +02:00
Kristian Rietveld
e1ede022f8 treemodelfilter: add additional asserts to MODEL_FILTER_DEBUG mode 2011-09-17 06:09:35 +02:00
Kristian Rietveld
25a514da8a Remove left-over calls to dump function 2011-09-17 06:09:35 +02:00
Matthias Clasen
be58a6ce2c widget-factory: add more checks and radios
Add examples of check and radio menuitems, as well as inconsistent
checks and toggles.
2011-09-16 21:08:14 -04:00
Bastien Nocera
3c2eb053d6 link-button: Reset the mouse cursor when destroyed
If clicking on a link destroys the link button, and keeps the
same GdkWindow then the cursor stays as a hand in the rest of
the interface.

https://bugzilla.gnome.org/show_bug.cgi?id=659247
2011-09-16 15:06:28 +01:00
Javier Jardón
493d79886e gdk/gdkkeys.h: Remove api documentation as Its already in the .c file 2011-09-16 13:12:02 +02:00
Duarte Loreto
c2be5f3155 Updated Portuguese translation 2011-09-16 00:47:03 +01:00
Duarte Loreto
c254ebb56c Updated Portuguese translation 2011-09-16 00:45:41 +01:00
Martin Srebotnjak
4c06f52d77 Updated Slovenian translation 2011-09-15 22:37:48 +02:00
A S Alam
5f360423c5 Updated Punjabi Translation 2011-09-15 22:23:43 +05:30
Xandru Armesto
c3b074f6e2 Updated asturian translation 2011-09-15 18:37:23 +02:00
Cosimo Cecchi
e9de907f9e iconview: add support for prelight cells
Render GtkIconView cell items with the prelight state flag when they're
being mouse hovered.
This works basically in the same way it's done for GtkTreeView cells,
and e.g. GtkCellRendererPixbuf will need to have its follow-state
property to opt in to prelight rendering.

https://bugzilla.gnome.org/show_bug.cgi?id=615501
2011-09-15 09:34:04 -04:00
Fran Dieguez
393a1261b3 Updated Galician translations 2011-09-14 23:14:00 +02:00
Ihar Hrachyshka
e0ea002e0d Updated Belarusian translation. 2011-09-14 21:52:12 +03:00
Ryan Lortie
f86351c05f GtkApplication: chain up ::startup 2011-09-14 14:04:10 -04:00
Yuri Myasoedov
98b8f4a9fd Updated Russian translation 2011-09-14 21:52:57 +04:00
Alexandre Franke
a5f632d815 Update French translation 2011-09-14 18:25:36 +02:00
Benjamin Otte
9ddc11fbb5 iconview: Don't rturn TRUE from draw handler 2011-09-14 16:10:14 +02:00
Benjamin Otte
9e8b2f2521 treeview: Return FALSE from draw handler
... like every widget should.

https://bugzilla.gnome.org/show_bug.cgi?id=658981
2011-09-14 16:10:14 +02:00
Antonio Fernandes C. Neto
a172dff58b Updated Brazilian Portuguese translation. 2011-09-14 08:57:40 -04:00
Matthias Clasen
f1574cbe4d Post-release bump 2011-09-13 18:17:47 -04:00
Matthias Clasen
c37e425341 3.1.90 2011-09-13 17:40:52 -04:00
Matthias Clasen
07cecfc601 Fix a parameter name mismatch 2011-09-13 17:36:24 -04:00
Matthias Clasen
2f19600708 Updates 2011-09-13 17:36:15 -04:00
Luca Ferretti
26799f67a9 l10n: Updated Italian translation 2011-09-13 23:29:15 +02:00
Luca Ferretti
14147de0c2 l10n: Updated Italian translation 2011-09-13 23:26:00 +02:00
Luca Ferretti
f38901509e l10n: Updated Italian translation 2011-09-13 23:25:55 +02:00
Federico Mena Quintero
432b7ee2bc Merge branch 'bgo593793-filechooser-recent-folders-master' 2011-09-13 15:24:37 -05:00
Federico Mena Quintero
c132b6cfc7 bgo#658600 - Don't try to focus the location entry in Recent-files mode
We don't ever start up in Search mode, so we don't need an extra check for that mode, yet.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-09-13 15:24:29 -05:00
Kjartan Maraas
f191798faf Updated Norwegian bokmål translation 2011-09-13 18:47:54 +02:00
dmustieles
24981f75a0 Updated Spanish translation 2011-09-13 18:07:43 +02:00
Richard Hughes
14df59d47c Fix a segfault if the GAppInfo does not have an icon
This fixes the following backtrace:

 0  g_logv (log_domain=0x7ffff60461a4 "GLib-GObject", log_level=<optimized out>,
    format=0x7ffff599c322 "%s: assertion `%s' failed", args1=0x7fffffffc418) at gmessages.c:577
 1  0x00007ffff59312d2 in g_log (log_domain=<optimized out>, log_level=<optimized out>,
    format=<optimized out>) at gmessages.c:591
 2  0x00007ffff601c3c7 in g_object_ref (_object=0x0) at gobject.c:2648
 3  0x00007ffff7721e22 in gdk_x11_app_launch_context_get_startup_notify_id (context=<optimized out>,
    info=0x7fffe8004b40, files=<optimized out>) at gdkapplaunchcontext-x11.c:331
 4  0x00007ffff62e60d0 in _g_desktop_app_info_launch_uris_internal (appinfo=0x7fffe8004b40, uris=0x0,
    launch_context=0x7fffe401c800, spawn_flags=G_SPAWN_SEARCH_PATH, user_setup=0, user_setup_data=0x0,
    pid_callback=0, pid_callback_data=0x0, error=0x7fffffffc848) at gdesktopappinfo.c:1269
 5  0x00007ffff62e630a in g_desktop_app_info_launch_uris (appinfo=<optimized out>, uris=<optimized out>,
    launch_context=<optimized out>, error=<optimized out>) at gdesktopappinfo.c:1341
 6  0x00007ffff62e636b in g_desktop_app_info_launch (appinfo=0x7fffe8004b40, files=<optimized out>,
    launch_context=0x7fffe401c800, error=0x7fffffffc848) at gdesktopappinfo.c:1388
2011-09-13 16:41:38 +01:00
Piotr Drąg
415d916129 Updated Polish translation 2011-09-13 17:26:57 +02:00
Piotr Drąg
aaa2e0b1cd Updated POTFILES.in 2011-09-13 17:20:05 +02:00
Christian Persch
7ce29eecc1 prop-editor: Allow editing PANGO_TYPE_FONT_DESCRIPTION properties
...using a GtkFontButton.
2011-09-13 12:55:34 +02:00
Christian Persch
71c16bad33 Take font size also from the font description 2011-09-13 12:55:34 +02:00
Christian Persch
d82895127e Remove some unnecessary casts 2011-09-13 12:55:34 +02:00
Christian Persch
8219a413ff Clarify conditions when get_font_{family,face} return NULL 2011-09-13 12:55:34 +02:00
Christian Persch
b1ff243c57 Fix implementation of GtkFontButton:get_font_{family,face}
Returns a PangoFont{Family,Face} even when the font dialogue
has never been popped up.
2011-09-13 12:55:34 +02:00
Christian Persch
cc79b08441 Add filter test to testfontchooserdialog 2011-09-13 12:55:33 +02:00
Christian Persch
6902813a11 Rename gtk_font_chooser_get_{family,face,size}
... to gtk_font_chooser_get_font_{family,face,size}, in order to
avoid naming conflicts in bindings.
2011-09-13 12:55:33 +02:00
Christian Persch
abd9242f33 Add GtkFontChooser:font-desc property
Add a way to set/get the font as a PangoFontDescription.
2011-09-13 12:55:33 +02:00
Christian Persch
1b818f2e46 Remove GtkFontChooser:[sg]et_font
Now that the setter doesn't return a value anymore, we can just use
g_object_[sg]et instead of having these vfuncs.
2011-09-13 12:55:22 +02:00
Christian Persch
0b7db6888a Setters should not return a boolean
The setter for the "font" property returned a boolean that indicated
whether the given font has been found. Instead, fall back to the default
font name when the given font doesn't exist.
2011-09-13 12:55:22 +02:00
Matthias Clasen
cf14868619 Cosmetic doc fixes 2011-09-13 12:55:22 +02:00
Matthias Clasen
bdcb8558e3 Trivial: Fix up function name in the docs 2011-09-13 12:55:22 +02:00
Matthias Clasen
9e46e5789c Trivial: Add a few missing functions to the docs 2011-09-13 12:55:22 +02:00
Christian Persch
85e95a765d Mark string for translation 2011-09-13 12:55:22 +02:00
Christian Persch
ca4152995a GtkFontChooser implementation for GtkFontButton 2011-09-13 12:55:21 +02:00
Christian Persch
eb2a54decf Add prop editors to testfontchooser{,dialog} 2011-09-13 12:55:21 +02:00
Christian Persch
eb9efc9fd2 Rename GtkFontChooser:font-name to :font
GtkFontButton already has a property named "font-name" which may
conflict / be an ABI break when moving GtkFontButton to implement
GtkFontChooser. Also, this is more in line with how other parts in
gtk (e.g. GtkCellRendererText) call a font string property.
2011-09-13 12:55:21 +02:00
Christian Persch
5452525143 Make GtkFontChooser an interface
Make the GtkFontChooser API similar to the Gtk{File,Recent,App}Chooser
APIs by introducing GtkFontChooser as an interface, that has a default
implementation in GtkFontChooserWidget.

https://bugzilla.gnome.org/show_bug.cgi?id=657627
2011-09-13 12:55:21 +02:00
I Felix
291b044028 Updated Tamil Translations 2011-09-13 16:11:47 +05:30
I Felix
e4cc5c09a4 Updated Tamil Translations 2011-09-13 16:09:13 +05:30
I Felix
b21eb01cff Updated Tamil Translations 2011-09-13 16:08:29 +05:30
Murray Cumming
7eeebd4311 gtk_assistant_remove_page() docs: Fix typo. 2011-09-13 10:08:48 +02:00
YunQiang Su
609e40718d fix an issus 2011-09-13 13:20:19 +08:00
Yinghua Wang
d2d52567ad update Simplified Chinese (zh_CN) translation 2011-09-13 13:19:11 +08:00
Yinghua Wang
f6b264a34b update Simplified Chinese (zh_CN) translation 2011-09-13 11:54:56 +08:00
Matthias Clasen
7466f846b7 GtkSearchEngineTracker: port to tracker 0.12
We simply use the Tracker DBus api here, caching and direct
access that come with libtracker-sparql are probably not needed
here. Based on a patch by Martyn Russell.

https://bugzilla.gnome.org/show_bug.cgi?id=658272
2011-09-12 21:35:31 -04:00
Matthias Clasen
353c7c622e GtkFileChooserButton: Expand like other 'pickers'
Reported in bug 658774.
2011-09-12 21:33:11 -04:00
Fran Dieguez
2c49983041 Updated galician translations 2011-09-12 21:37:50 +02:00
Fran Dieguez
7fd19d7a36 Updated galician translations 2011-09-12 21:36:19 +02:00
Fran Dieguez
7c77278010 Updated galician translations for documentation 2011-09-12 21:31:54 +02:00
John Ralls
7550157d66 bgo#514843 - [filechooser] Deal with corrupted .gtk-bookmarks gracefully
We weren't checking for the lines in that file being valid UTF-8 strings.
2011-09-12 14:30:44 -05:00
Daniel Nylander
70d70a0607 Updated Swedish translation 2011-09-12 21:07:42 +02:00
Daniel Nylander
2c0a4ff143 Updated Swedish translation 2011-09-12 17:50:11 +02:00
Alexandre Franke
6573e24d59 Update French translation 2011-09-12 01:15:19 +02:00
Ihar Hrachyshka
e12140f8da Updated Belarusian translation. 2011-09-11 21:48:36 +03:00
Kristian Rietveld
3fc80381fd Add unit test for Bug 657353
This is to verify that Bug 657353 has been fixed.
2011-09-11 20:19:56 +02:00
Kristian Rietveld
7c0526e9b2 treemodelfilter: bring if-condition in sync
Bring the if-condition in sync with the other if-conditions in the
function where the "path" variable is used.
2011-09-11 20:19:56 +02:00
John Ralls
7cff8c4403 Quartz: gtk_drag_highlight_draw(): Set the GtkStyleContext to the widget.
Otherwise there's no actual context to save and restore.
2011-09-11 10:49:54 -07:00
Rudolfs Mazurs
442b3d265a Updated Latvian translation. 2011-09-11 20:28:23 +03:00
Kristian Rietveld
3db7344f33 treemodelfilter: correct forgotten unref of parent on level destroy
gtk_tree_model_filter_free_level() should always release ref on parent
unless the parent has been removed in the child model.  The unit tests
added in the previous commit test this.
2011-09-11 16:53:27 +02:00
Kristian Rietveld
9c85042de6 Increase code coverage of first reference transfer code paths 2011-09-11 16:51:23 +02:00
Sébastien Granjoux
35eb92138a treemodelfilter: bgo#658696- Crash when inserting new node 2011-09-11 12:13:54 +02:00
Kristian Rietveld
0ab9766253 Add unit test for bug 658696 2011-09-11 12:13:54 +02:00
Kristian Rietveld
a43f2ba010 gtktreemodelfilter: fix small bug in prune level
gtk_tree_model_filter_prune_level() should drop all internal reference
counts as well for nodes which are going to be removed from the
sequence.
2011-09-11 12:13:54 +02:00
Kristian Rietveld
9ed76387fa gtktreemodelfilter: fix corner case in rows-reordered handling
If the level to be reordered did not contain an elt with offset == 0
(for example if that node was hidden), the first reference was not
correctly transferred.

A unit test for this has been added in a previous commit.
2011-09-11 12:13:54 +02:00
Kristian Rietveld
449c4bc362 Unit test a corner case of gtk_tree_model_filter_rows_reordered() 2011-09-11 12:13:54 +02:00
Jorge González
94a9170808 Updated Spanish translation 2011-09-11 10:29:52 +02:00
Benjamin Otte
3d0a2d50f0 filechooser: Fix compile warning 2011-09-10 16:11:27 +02:00
Piotr Drąg
0ce142e58d Updated Polish translation 2011-09-10 11:56:07 +02:00
Daniel Mustieles
d09a12e0d6 Updated Spanish translation 2011-09-10 10:45:21 +02:00
Matthias Clasen
f9379adca2 GtkAppChooserButton: Add a way to include the default app
This is necessary to use an app chooser button for selecting
default apps in the control center. Also, beef up the docs
for this widget family.

https://bugzilla.gnome.org/show_bug.cgi?id=642706
2011-09-10 01:42:07 -04:00
Cosimo Cecchi
e97ed4374f combobox: implement get_path_for_child() for GtkComboBox
This way we can adjust borders and rounded corners from the theme when
displaying the widget children flipped for RTL locales.

https://bugzilla.gnome.org/show_bug.cgi?id=658507
2011-09-09 11:46:00 -04:00
Dan Winship
e028a5c090 gtkcssprovider: fix a crash in gtk_css_provider_parsing_error
"info" was being declared in two different scopes, and the one that
was freed wasn't the one that was set.
2011-09-09 09:37:44 -04:00
John Ralls
b71f28037f Bug 617583 - Dead accents keys don't work in GTK+ applications on OSX
Handle dead keys in special_ucs_table and have them converted by
UCKeyTranslate(), so all dead key combinations can be entered.
Later, this should be handled in the input method, just as it's
done for X11/Win32.
2011-09-09 10:56:49 +02:00
Dan Winship
228f30e055 gtkmodules: don't append NULL to module list for blacklisted module
fixes a crash when removing "gail" from gtksettings-specified modules
2011-09-08 16:52:00 -04:00
Rudolfs Mazurs
3a1b2871b8 Updated Latvian translation. 2011-09-08 16:30:07 -04:00
Bruno Brouard
e07d7f01a8 Updated French translation 2011-09-08 21:47:09 +02:00
Luca Ferretti
4e86b3f617 l10n: Updated Italian translation 2011-09-08 21:40:50 +02:00
Piotr Drąg
81c3558ea1 Updated Polish translation 2011-09-08 20:47:52 +02:00
A S Alam
8fd73a935d update PunjabiTranslation 2011-09-08 20:37:46 +05:30
Kristian Rietveld
b53a66b7e2 Add unit tests to check hierarchies of deleted nodes are unreffed properly 2011-09-07 22:25:29 +02:00
Kristian Rietveld
d116261e1f Update filter model ref count tests to reflect changes in rules 2011-09-07 22:25:29 +02:00
Kristian Rietveld
022327c408 gtktreemodelfilter: child levels of the root level must remain cached
This is due to the special handling for filter functions that depend
on child level state.  If the parent level of a level is the root level,
the level cannot be removed from the cache.  Any change in this level
can cause its parent in the root level to become visible again.
2011-09-07 22:25:29 +02:00
Kristian Rietveld
ae2b2e7cfc gtktreemodelfilter: rework gtk_tree_model_filter_remove_elt_from_level
The most important change is that the function now properly releases
any external ref count and propagates these changes to the child model.
If a node is removed due to a filtering action, we now properly release
all external reference counts for its hierarchy of child nodes.

Apart from that, the function has been restructured to remove code
duplication.

Finally, there is still some doubt whether there are more calls to
gtk_tree_model_filter_free_level() which need unref_external set to TRUE.
2011-09-07 22:25:29 +02:00
Kristian Rietveld
767b2e2604 gtktreemodelfilter: add a debug define and more assertions
Should be helpful when debugging this thing.  Perhaps this needs to
be properly integrated in G_DEBUG/GTK_DEBUG, but currently I do not see
the need to.
2011-09-07 22:25:29 +02:00
Kristian Rietveld
f317dd3831 gtktreemodelfilter: make rule used for level caching consistent
There was still a discrepancy between the comments and the code about when
exactly a level was to be removed.  The rule is now set on that for a level
to be removed its zero_ref_count as well as the zero_ref_count of its
parent has to be zero.
2011-09-07 22:25:29 +02:00
Kristian Rietveld
0bedb51b33 Add unit test for ref tranfer in rows-reordered with filtered rows 2011-09-07 22:25:29 +02:00
Behdad Esfahbod
057a50d58e Bug 658398 - Use of uninitialized variable reported by Valgrind
Fix it.
2011-09-07 16:19:44 -04:00
Bruce Cowan
f5aba05c93 Updated British English translation 2011-09-07 17:22:13 +01:00
Cosimo Cecchi
8b9f0402b0 iconview: fix a typo while removing the a11y adjustment weak ref
The code sets old_adj_ptr to the location containing the old weak ref,
but then wants to remove a weak ref from &view->old_hadj, causing warnings
when disposing the widget.
2011-09-06 19:09:19 -04:00
Ihar Hrachyshka
aeba575e1c Updated Belarusian translation. 2011-09-07 01:33:36 +03:00
Kjartan Maraas
e635f9d98e Added Norwegian bokmål translation 2011-09-06 21:51:52 +02:00
Matej Urbančič
2cc409cb65 Updated Slovenian translation 2011-09-06 21:49:11 +02:00
Cosimo Cecchi
39f0a60792 themingengine: remove unused variable 2011-09-06 15:01:09 -04:00
Carlos Garnacho
79ff1b669c x11: Don't create GdkDevices for disabled devices
Fixes bug #658379 - Disabled devices still added to list on startup,
spotted by Bastien Nocera. Do not create GdkDevices for disabled
devices on device manager construction, leading to a confusing initial
state.
2011-09-06 20:04:08 +02:00
Andika Triwidada
f714f01b45 Updated Indonesian translation of po-properties 2011-09-06 17:15:38 +07:00
Andika Triwidada
4fafdd98b3 Updated Indonesian translation 2011-09-06 17:10:51 +07:00
Bruno Brouard
0832bad2b6 Updated French translation 2011-09-06 10:57:40 +02:00
Arash Mousavi
bf4558b21f Updated Persian translation 2011-09-06 11:37:50 +04:30
Jorge González
299a97c8ce Updated Spanish translation 2011-09-06 06:07:31 +02:00
Duarte Loreto
684ffdd234 Updated Portuguese translation 2011-09-05 22:52:52 +01:00
Duarte Loreto
7624a08fef Updated Portuguese translation 2011-09-05 22:43:22 +01:00
Matthias Clasen
c1af0ceafc Post-release version bump 2011-09-05 17:07:35 -04:00
Matthias Clasen
6dd3432ecb 3.1.18 2011-09-05 16:43:06 -04:00
Matthias Clasen
c22feaab35 Some more colord configury cleanups
Don't error out when --enable-color=auto, but no colord is found.
Plus various cleanups to the output.
2011-09-05 16:42:59 -04:00
Matthias Clasen
8183d328e8 More NEWS 2011-09-05 16:38:08 -04:00
Matthias Clasen
bd92a61a5f Fix output of pickers.ui a11y test 2011-09-05 16:36:56 -04:00
Matthias Clasen
50c50448bf Updates 2011-09-05 16:36:55 -04:00
Fran Dieguez
27e2ae0388 Updated galician translations 2011-09-05 22:00:07 +02:00
Federico Mena Quintero
c6aca6bb60 Merge branch 'bgo593793-filechooser-recent-folders-master' 2011-09-05 14:36:23 -05:00
Jorge González
63013ee2aa Updated Spanish translation 2011-09-05 20:40:37 +02:00
Federico Mena Quintero
2476d35142 Menu item to visit the selected files in recent-files mode
This will take you to the file's folder and select the file in question.
The menu item is only available in Recently-used and Search modes, so that
you can go from files in them to the 'normal' browsing mode.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-09-05 13:31:57 -05:00
Federico Mena Quintero
668287b940 Factor out functions to create contextual menu items for the file list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-09-05 13:22:01 -05:00
Benjamin Otte
c21b6f4705 reftests: Disable border-radius tests for shadow
We get rendering artifacts that make tests fail. Not good.
The code is only commented out so far, so it should be trivial to
reenable if someone wants to. (Or this commit could just be reverted.)
2011-09-05 18:56:23 +02:00
Benjamin Otte
d717a2dcfc grid: Swap wrong spacing properties
row-spacing behaved like column-spacing should have and vice versa.

Also update tests that erroneously checked this behavior.

Thanks to Joanmarie Diggs for finding this.
2011-09-05 18:56:23 +02:00
Benjamin Otte
b314f03bf4 radiobutton: Remove redundant call
The call is done by GtkButton already, no need to override it.
2011-09-05 18:56:23 +02:00
Benjamin Otte
7edf79de26 checkbutton: Remove redundant call
The call is done by GtkButton already, no need to override it.
2011-09-05 18:56:23 +02:00
Cosimo Cecchi
4ea01b2cf3 GtkPathBar: Implement get_path_for_child
This will allow nice theming of the path bar.

https://bugzilla.gnome.org/show_bug.cgi?id=658077
2011-09-05 12:14:09 -04:00
Matthias Clasen
f1476f31fe a11y: Fix up listener registration minimally
For god-knows-what reason, at-spi is trying various formats
of strings when registering listeners, triggering g_warnings()
from gailutil code. Stop doing that.

Also, don't leak temporary string arrays that are a side-effect
of passing parameters around as formatted strings.

https://bugzilla.gnome.org/show_bug.cgi?id=658168
2011-09-05 11:56:54 -04:00
Matthias Clasen
a51a31466d Make the gail blacklisting more quiet
Don't mention blacklisted modules at all if they are not found.
2011-09-05 11:44:47 -04:00
Matthias Clasen
1bede5c3fb GtkFontChooser: mark 'no matches' string for translation 2011-09-05 11:19:30 -04:00
Matthias Clasen
5445b3d7ec GtkToolbar: Move child removal to dispose
Doing it in finalize is too late and can cause various problems
in ::parent-set signal handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=658200
2011-09-05 11:09:16 -04:00
Matthias Clasen
6faba61db1 Some GtkAboutDialog doc additions 2011-09-05 00:00:24 -04:00
Matthias Clasen
3a1ce87c7e Fix typos in gtk_tree_view_set_reorderable docs
As pointed out in bug 530253.
2011-09-04 23:52:36 -04:00
Matthias Clasen
2e39400e18 Clean up the docs of GTK_SELECTION_MULTIPLE
As requested in bug 566202.
2011-09-04 23:46:51 -04:00
Matthias Clasen
eaed6d1912 Improve gtk_tree_view_set_drag_dest_row docs
As requested in bug 581435.
2011-09-04 23:42:42 -04:00
Matthias Clasen
21275a1636 Correct the documentation of gtk_render_arrow() x,y arguments
As pointed out in bug 655631, these are the origin, not
the center of the area.
2011-09-04 23:09:57 -04:00
Matthias Clasen
f601994eff GtkFontChooser: escape markup where required
Since we use markup in the list, we need to escape the font name
and preview text pieces that we embed there.
2011-09-04 17:17:07 -04:00
Matthias Clasen
53edb2a4fb Test non-xml-clean preview text
This shows that we fail to escape markup somewhere.
2011-09-04 17:16:29 -04:00
Ihar Hrachyshka
8b3ff3919d Updated Belarusian translation. 2011-09-04 19:06:49 +03:00
Aurimas Černius
a8f62fe9af Updated Lithuanian translation 2011-09-04 18:41:49 +03:00
Aurimas Černius
ed3c5075dd Updated Lithuanian translation 2011-09-04 18:35:45 +03:00
Kristjan SCHMIDT
f2f781799a Updated Esperanto translation 2011-09-04 13:18:11 +02:00
Matthias Clasen
41dbd20d56 GtkAssistant: Fix label alignment
Make page titles left-aligned again. Changing from misc alignment
to GtkWidget::halign here was a mistake. We can't do that for labels
in a size group, as long as labels still pay attention to misc
alignment.

https://bugzilla.gnome.org/show_bug.cgi?id=658008
2011-09-04 00:42:31 -04:00
Matthias Clasen
dc898e3f84 GtkLabel: make patterns work a little better
When a pattern has been set, we must not throw away
the attributes that contain it.

https://bugzilla.gnome.org/show_bug.cgi?id=658111
2011-09-04 00:01:37 -04:00
Changwoo Ryu
80fbbc38e3 Update Korean translation 2011-09-03 21:58:35 +09:00
Matthias Clasen
be152f9b61 GtkPlug: preserve map/unmap invariants 2011-09-02 21:40:42 -04:00
Matthias Clasen
ef4690d511 GtkGrid: make attaching more flexible
Allow to attach children at either end of row/column 0.
Proposed by Alex Larsson.

https://bugzilla.gnome.org/show_bug.cgi?id=657793
2011-09-02 20:07:19 -04:00
Cosimo Cecchi
f5e758bd60 themingengine: remove xthickness FIXME from gtk_render_line() code
The gtk_render_line() code has a FIXME (coming from the 2.x migration I
suppose) about using xthickness, and it actually hardcodes two lines of
different color instead of drawing a single one.
Since we don't support xthickness anymore, make gtk_render_line() do
what it says, i.e. just draw an 1px line colored with the current
color.

https://bugzilla.gnome.org/show_bug.cgi?id=657963
2011-09-02 15:11:53 -04:00
Cosimo Cecchi
640f06928f treeview: add GTK_STYLE_CLASS_SEPARATOR for tree view separators
https://bugzilla.gnome.org/show_bug.cgi?id=657985
2011-09-02 15:11:15 -04:00
Eitan Isaacson
6eb777a8af Change gtk_css_provider_propagate_error's signature.
Update to new parsing-error signal.

https://bugzilla.gnome.org/show_bug.cgi?id=657882
2011-09-02 09:19:18 -07:00
Og B. Maciel
0ee9a4790a Updated Brazilian Portuguese translation. 2011-09-02 11:29:59 -04:00
Matthias Clasen
22d046d7fe Add a note about placeholder text use
Explain how this is really not such a great feature...
2011-09-02 00:35:38 -04:00
Matthias Clasen
1204a850f3 Formatting cleanups
While we normally try to avoid whitespace fixes, the gtk-demo
code is shown as exemplary, so it should be in good shape,
formatting-wise.
2011-09-01 23:56:58 -04:00
Matthias Clasen
c5cd4174c3 gtk-demo: Drop uses of GtkAlignment 2011-09-01 23:56:57 -04:00
Richard Hughes
ee6b79becf Fix the configure script to actually define HAVE_COLORD when colord is used 2011-09-01 15:34:57 +01:00
Matthias Clasen
a6899f2a9d gtk-demo: replace uses of GtkTable by GtkGrid 2011-08-31 13:31:34 -04:00
Matthias Clasen
ce58d8887f gtk-demo: trivial improvement
Set activates-default in the assistant demo where it makes sense.
2011-08-31 13:31:34 -04:00
Chun-wei Fan
8cd9e34ee3 Update README.win32 and Visual C++ Readme.txt's
-Tell people about the GNOME Live! page which gives a more detailed
 outline on building the GTK+ stack with Visual C++
-Update README.win32 as GAIL is now a standard part built into GTK+
 for its a11y functions, and GAIL-Util is now built with the project
 files too.
-Tell people about the VS2010 support that has been available for a
 while
2011-08-31 14:28:47 +08:00
Javier Jardón
43e241b235 gtk+.doap: Add gtk+ to "platform" category 2011-08-30 22:47:33 +01:00
Javier Jardón
69de896589 Add more compilation warnings 2011-08-30 22:47:33 +01:00
Javier Jardón
d780dde9e1 gtk/Makefile.am: Remove duplicate AM_CPPFLAGS 2011-08-30 22:47:33 +01:00
Matthias Clasen
553628efa1 post-release version bump 2011-08-30 11:48:50 -04:00
Matthias Clasen
b57180a684 3.1.16 2011-08-30 11:28:53 -04:00
Matthias Clasen
3ff5a82e46 Clean up stock-icons
We copy them all in srcdir != builddir builds, so just
nuke the entire directory in that case.
2011-08-30 11:28:53 -04:00
Matthias Clasen
a233022934 Disable underallocation warnings in non-debug builds
It doesn't look like we have much traction of actually fixing
these, and there is very real cost to not being able to distcheck.
2011-08-30 11:28:52 -04:00
Matthias Clasen
53602c400d Disable an incomplete test that does not work
Testing focus changes in this way has no chance of working
until we remove all the idle handlers from gail.
2011-08-30 11:28:52 -04:00
Murray Cumming
342c64c2f2 GtkToolShell: Move vfunc default results to default implementations.
Otherwise the default values are only used if no vfunc is set,
making that default unavailable to vfunc implementations as a fallback,
and unavailable to language bindings (such as gtkmm) that always
have a vfunc implementation, even if that often only tries to call
the base vfunc implemntation.

This was making gtkmm's ToolPalette's (and probably ToolBar's)
items look like buttons instead of being flat.

https://bugzilla.gnome.org/show_bug.cgi?id=656223
2011-08-30 15:28:06 +02:00
Matthias Clasen
9379a48e22 Add headers to treemodel test sources
...otherwise they don't make it into the release tarballs.

https://bugzilla.gnome.org/show_bug.cgi?id=657653
2011-08-29 20:34:46 -04:00
Matthias Clasen
8009a7f0b1 Add a 3.2 index to gdk docs 2011-08-29 13:16:14 -04:00
Matthias Clasen
e0ab377f9b Post-release version bump 2011-08-29 13:09:21 -04:00
Matthias Clasen
50101fba11 3.1.14 2011-08-29 13:08:47 -04:00
Matthias Clasen
925ed7c70f Don't unref floating menuitems
With recent fixes, GTK+ no longer sinks menu items automatically,
so we have to do it explicitly here.
2011-08-29 11:57:39 -04:00
Alejandro Piñeiro
4244349600 a11y: Don't manage window events as a exception
https://bugzilla.gnome.org/show_bug.cgi?id=657260
2011-08-29 10:57:21 -04:00
Alejandro Piñeiro
08bf2e0463 a11y: Use AtkWindow on GtkWindowAccessible
GtkWindowAccessible doesn't require to define window related
signals. They are included on AtkWindow
2011-08-29 10:57:14 -04:00
Matthias Clasen
1090eba9a8 a11y: don't return random numbers
Return 0 for the image size if we don't have a pixbuf to measure.
2011-08-29 10:50:01 -04:00
Matthias Clasen
006d46362c Adapt a11y dump output
Some of the recent changes need to be reflected in the a11y
dumps.
2011-08-29 10:36:44 -04:00
Matthias Clasen
84504014aa Fix exported symbols 2011-08-29 10:24:17 -04:00
Matthias Clasen
3fa5813ea3 testappchooser: handle 'no app selected' gracefully
The test was assuming that it always gets an app info back,
when in reality it might get NULL back.
2011-08-28 23:50:50 -04:00
Matthias Clasen
18dba17f0b GtkAppChooserDialog: handle sensitivity of 'Select' better
When the dialog comes up without a selected item, make 'Select'
insensitive. Also, don't allow to unselect an item without
selecting a different one.
2011-08-28 23:49:41 -04:00
Matthias Clasen
6d797d5356 GtkAppChooser: Deal with 'no app found' gracefully
Several functions inside GtkAppChooserDialog were not handling
the situation that app_info might be NULL after the user clicked
'Select'.

https://bugzilla.gnome.org/show_bug.cgi?id=651827
2011-08-28 22:46:46 -04:00
Matthias Clasen
676316bbd3 Avoid warnings when widgets are not created yet
This widget is created on-demand, so we can not unconditionally
set its sensitivity in some other place.
2011-08-28 22:30:24 -04:00
Matthias Clasen
f64647077f Add an accessor for grid children
This addresses concerns in bug 634136.
2011-08-28 21:20:53 -04:00
Matthias Clasen
b2188f5dc1 Trivial: include cleanups 2011-08-28 20:46:11 -04:00
Matthias Clasen
76c6f49805 Silence the build a bit more 2011-08-28 20:38:28 -04:00
Diego Celix
ca317c6798 tests-prop-editor:gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
tests/prop-editor.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:34:35 -04:00
Diego Celix
173cc862a1 testgtk: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
tests/testgtk.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:17:04 -04:00
Diego Celix
fd1fabf5c3 testcalendar: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
tests/testcalendar.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:17:03 -04:00
Diego Celix
bd69e6a6cd demo-ui_manager: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
demos/gtk-demo/ui_manager.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:17:02 -04:00
Diego Celix
464fa4715f demo-sizegroup: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
demos/gtk-demo/sizegroup.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:17:00 -04:00
Diego Celix
9b31aff56c demo-pickers: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
demos/gtk-demo/pickers.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:16:59 -04:00
Diego Celix
a3719d3033 demo-changedisplay:gtk_misc_set_alignment replace
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
demos/gtk-demo/changedisplay.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:16:57 -04:00
Diego Celix
372a907e97 gtkappchooserdialog: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkappchooserdialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:16:56 -04:00
Diego Celix
9dfff27c42 gtkaboutdialog: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkaboutdialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-08-28 20:16:54 -04:00
Matthias Clasen
f060343a82 Explicitly link gdk and gtk against libm
We used to get an implicit -lm from gdk-pixbuf, but that has
recently been changed to not inject extraneous libraries into
link lines, so we have to do it ourselves now. This is more
correct, anyway.
2011-08-28 20:03:56 -04:00
Cosimo Cecchi
f7c188c019 API: add accessors for GdkEvent fields
Add accessors for the following fields: button, keyval, keycode, scroll
direction, click count.

https://bugzilla.gnome.org/show_bug.cgi?id=657384
2011-08-28 19:50:34 -04:00
Matthias Clasen
5cc1318279 GtkTrayIconX11: Some more refactoring
I like my refactoring better...
2011-08-28 14:54:14 -04:00
Benjamin Otte
dca3ea896e trayicon-x11: Refactor code a bit
Should make it more obvious what the code actually does.
2011-08-28 20:20:35 +02:00
Vincent Bernat
6754614ac1 trayicon-x11: Fix warnings when visual is not available.
This fixes a regression introduced in commit
b1a1685a33eca16979e63d79915395af0b36. gdk_visual_get_*_pixel_details()
should not be called with a NULL visual.

https://bugzilla.gnome.org/show_bug.cgi?id=649588
2011-08-28 20:20:35 +02:00
Mario Blättermann
64b85e7bd8 [l10n] Updated German translation 2011-08-28 13:40:28 +02:00
Matthias Clasen
6f39855c08 More include cleanups 2011-08-28 01:54:55 -04:00
Matthias Clasen
fd92e7150d More include cleanups 2011-08-28 01:42:10 -04:00
Matthias Clasen
383127cd0b Clean up unneeded includes 2011-08-28 01:40:10 -04:00
Matthias Clasen
227fafb93f GtkPrintUnixDialog: Replace GtkTable by GtkGrid 2011-08-28 01:34:17 -04:00
Matthias Clasen
5b97a58230 GtkFileChooserDefault: Replace GtkTable by GtkGrid 2011-08-28 00:47:24 -04:00
Matthias Clasen
b043a0a610 GtkMountOperation: Replace GtkTable by GtkGrid 2011-08-28 00:39:44 -04:00
Matthias Clasen
280f34ec61 GtkPageSetupUnixDialog: replace GtkTable by GtkGrid 2011-08-28 00:35:51 -04:00
Matthias Clasen
1ca773c2d7 GtkColorSel: replace GtkTable by GtkGrid 2011-08-28 00:20:21 -04:00
Matthias Clasen
4b394fc847 Fix the build 2011-08-27 17:22:37 -04:00
Matthias Clasen
0039418001 GtkToolbar: partial fix for toolbar editing
When using an editable toolbar in evince, we can end up
in gtk_toolbar_get_visible() position with item being the
highlight_tool_item, but not one of the regular children.
So, handle that.
2011-08-27 11:45:01 -04:00
Matthias Clasen
c8e8cdaaf4 Make gtk_status_icon_set_name() work reliably 2011-08-27 01:26:48 -04:00
Matthias Clasen
8f3e43326b Silence a compiler warning 2011-08-27 01:25:39 -04:00
Matthias Clasen
f7dbdba267 Revert "GtkColorButton: Don't forget to close a cairo context"
This reverts commit 144e4af8bc.
2011-08-27 01:01:21 -04:00
Chao-Hsiung Liao
2823c0f485 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2011-08-27 10:35:54 +08:00
Piotr Drąg
b042cabc5e Updated POTFILES.skip 2011-08-27 04:21:11 +02:00
Benjamin Otte
651723b4d4 reftests: Add a test for the recent notebook fix 2011-08-27 02:47:52 +02:00
Benjamin Otte
e11e51c252 notebook: Fix child property setters causing underallocations
Don't randomly allocate around, queue resizes instead.
2011-08-27 02:47:51 +02:00
Federico Mena Quintero
52711beba5 Merge branch 'bgo593793-filechooser-recent-folders-master' 2011-08-26 12:44:40 -05:00
Federico Mena Quintero
a265fb763b bgo#657186 - Sort the recent-files list in newest-to-oldest order
Otherwise it's not very useful... :)

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-26 12:44:24 -05:00
Federico Mena Quintero
3bd037b7d9 Load and populate the recent-items in a single pass
There's no real asynchronicity going on, anyway, so let's do both within
a single iteration of the idle handler.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-26 12:44:22 -05:00
Federico Mena Quintero
e9c0faba42 Don't sort the recent-items by hand
The mtime from GtkRecentManager may not the same as the file's actual
mtime, so the final result could appear unsorted to the user.  Instead,
we will let the view do the sorting.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-26 12:44:21 -05:00
Tristan Van Berkom
d7696bd25f Avoid dereferencing NULL pointer in gtk_label_drag_data_get()
It's possible the GtkLabel receives drag'n'drop related signals
if it was setup to receive them by a container or other external
code, just avoid dereferencing priv->select_info in this case.
2011-08-26 19:02:36 +02:00
Michael Terry
431227e1af tests: Add test for non-nullterminated gtk_css_provider_load_data()
https://bugzilla.gnome.org/show_bug.cgi?id=657359
2011-08-26 16:26:28 +02:00
Benjamin Otte
71c3f7e93d styleproperty: Improve error message
We do dsupport that feature still and don't want to scare people into
thinking everything broke.
2011-08-26 16:26:28 +02:00
Benjamin Otte
26e9d07718 API: cssprovider: Change parsing-error signal
Instead of path, line and position, emit the section the error happened
in. This has a lot more information to consume.
2011-08-26 16:26:28 +02:00
Benjamin Otte
8d6b560ff3 cssparser: Fix cases where we could overrun the terminating 0 2011-08-26 16:26:28 +02:00
Benjamin Otte
62d231aeff cssparser: Make lines and positions 0-indexed 2011-08-26 16:26:28 +02:00
Benjamin Otte
0d1b73f857 cssprovider: Store sections with parsed values
Also create a separate section for values to associate the values with.
Finally, use this section information when delayed-parsing a widget
style property.
2011-08-26 16:26:27 +02:00
Benjamin Otte
ebf0b6ee4d cssprovider: Handle non-NULL-terminated data
Do a dumb copy if that happens.
2011-08-26 16:26:27 +02:00
Benjamin Otte
d985b95ef9 cssprovider: Keep only the curent section while parsing
We don't need a list of sections, the section can give us the parent
when we need it (d'oh).
2011-08-26 16:26:27 +02:00
Benjamin Otte
19c44967cb cssprovider: Remove dead code
The code isn't used anymore since the introduction of rulesets.
2011-08-26 16:26:27 +02:00
Benjamin Otte
00d14e3515 API: css: Add GtkCssSection
This struct keeps track of an area of text in a CSS file and uses it
when specifying information. Also, the cssprovider keeps track of
sections when parsing a file.
2011-08-26 16:26:27 +02:00
Colin Walters
c8fdd5e847 Squash two compilation warnings about possibly-uninitialzed 2011-08-25 14:47:21 -04:00
Yuri Myasoedov
97aec9ae8e Updated Russian translation 2011-08-25 22:05:07 +04:00
Ryan Lortie
05aeaeef9e Signalify (already existing) GtkMenuShell.insert()
gtk_menu_shell_insert() is a virtual function that was being directly
invoked from the class vtable.

Turn it into a proper signal and emit it in the usual way.

https://bugzilla.gnome.org/show_bug.cgi?id=656565
2011-08-25 09:48:12 -04:00
Javier Jardón
8dae05deaf gtk+.doap: Add some more info 2011-08-25 12:31:38 +01:00
Fran Dieguez
23f2aab4d6 Updated Galician translations 2011-08-24 21:03:09 +02:00
Daniel Mustieles
3415b6c553 Updated Spanish translation 2011-08-24 19:58:42 +02:00
Daniel Mustieles
83af296cb2 Updated Spanish translation 2011-08-24 19:58:14 +02:00
Kjartan Maraas
aa493ff8db Updated Norwegian bokmål translation 2011-08-24 18:54:00 +02:00
Chun-wei Fan
7cf479135d Update gtk/Makefile.am
Distribute fallback implementation source file for rint()/round()
2011-08-24 23:55:44 +08:00
Matthias Clasen
4a857ac023 Use a weak ref in GtkAccelLabel
GtkAccelLabel was holding a strong reference on its parent,
which could, depending on the circumstances, lead to leaks.

https://bugzilla.gnome.org/show_bug.cgi?id=344858
2011-08-24 08:16:03 -04:00
Matthias Clasen
32eb38073e Trivial: whitespace fixes 2011-08-24 07:58:21 -04:00
Matthias Clasen
c672066fbc Trivial: Silence a compiler warning 2011-08-24 07:56:13 -04:00
Matthias Clasen
f136ee9b57 Trivial: Silence a compiler warning 2011-08-24 07:54:58 -04:00
Matthias Clasen
144e4af8bc GtkColorButton: Don't forget to close a cairo context
Patch by Jerome Lambourg, bug 655392.
2011-08-24 07:46:35 -04:00
Daniel Nylander
311d782963 Updated Swedish translation 2011-08-24 09:22:23 +02:00
Matthias Clasen
5c09061e0f GtkFontChooserDialog: Select when a list item is activated
This is the expected behavior.
2011-08-24 00:49:59 -04:00
Matthias Clasen
f7bf35052e GtkFontChooser: Add a ::font-activated signal
This signal gets emitted when a font in the list is activated.
2011-08-24 00:49:16 -04:00
Matthias Clasen
ca0c7c1649 GtkAppChooserDialog: remove an unused variable 2011-08-24 00:32:20 -04:00
Matthias Clasen
80b94156ed GtkAppChooserDialog: Simplify the construction
We do the same in other places.
2011-08-24 00:11:32 -04:00
Matthias Clasen
14dc863da5 GtkAppChooserButton: Make activating rows work as expected
When a row is activated in the 'Other...' dialog, we have
to make sure the dialog goes away.
2011-08-24 00:10:34 -04:00
Matthias Clasen
c83db6cdf0 GtkSwitch: Return FALSE from the button press handler
This makes the behavior identical to other widgets which
handle button presses, and it avoids problems when placing
switches into a windows main toolbar.

https://bugzilla.gnome.org/show_bug.cgi?id=656986
2011-08-23 23:29:19 -04:00
Arx Cruz
c9023cadbf [filechooser] bgo#349502: Context menu option to copy selected files to the clipboard 2011-08-23 17:10:03 -05:00
Piotr Drąg
c4ad589fd5 Updated POTFILES.in 2011-08-23 22:28:43 +02:00
Gabor Kelemen
71be77c399 Add tests/*ui to POTFILES.skip 2011-08-23 22:18:37 +02:00
Gabor Kelemen
2807d69db3 There is no need for [type: ...] tags in POTFILES.skip 2011-08-23 22:16:09 +02:00
Daniel Mustieles
76beaf12ef Fixed POTFILES.in (error in D-L) 2011-08-23 22:04:04 +02:00
Daniel Mustieles
512ef3e2ba Fixed POTFILES.in (error in D-L) 2011-08-23 21:56:15 +02:00
Daniel Mustieles
b9b324077f Fixed POTFILES.in (error in D-L) 2011-08-23 21:55:04 +02:00
Daniel Mustieles
8a7d5ce5e1 Fixed bug #657146 2011-08-23 21:52:16 +02:00
Piotr Drąg
cfc765dc2a Updated POTFILES.in 2011-08-23 19:54:06 +02:00
Мирослав Николић
be512c9422 Updated Serbian translation 2011-08-23 19:15:48 +02:00
Matthias Clasen
3825a098c8 Change 'Ok' to 'Select' in the color chooser dialog
We have meaningful labels for the Ok buttons in all other choosers,
so just use the same string we use in the app chooser and the
font chooser.

Also move the mnemonic from s to a in 'Saturation', to avoid a
mnemonic conflict. String change !

https://bugzilla.gnome.org/show_bug.cgi?id=657006
2011-08-23 10:16:34 -04:00
Matthias Clasen
5c5cdf23a8 Add a mnemonic to the 'Select' button
This makes the string the same as in the app chooser dialog.
2011-08-23 10:08:33 -04:00
Sweta Kothari
ef159bc35c Updated Gujarati Translations 2011-08-23 14:46:57 +05:30
Andika Triwidada
9186f061a2 Updated Indonesian translation 2011-08-23 05:32:59 +07:00
Daniel Nicoara
99f489b5ef wayland: Acquire cairo device during operations that need the GL context 2011-08-22 16:32:06 -04:00
Kristian Høgsberg
005894eccb wayland: We need to require egl as well 2011-08-22 16:32:06 -04:00
Kristian Rietveld
a91868496a Fix typo in doc comment 2011-08-22 21:30:35 +02:00
Kristian Rietveld
b50375abf4 Add forgotten calls to signal_monitor_assert_is_empty() 2011-08-22 21:30:35 +02:00
Kristian Rietveld
d63015e627 Fix some memory leaks in treemodel unit tests 2011-08-22 21:30:35 +02:00
Kristian Rietveld
b31c3f1c1f treemodelsort: eliminate unread variable assigments
Courtesy of scan-build/clang.
2011-08-22 21:30:35 +02:00
Kristian Rietveld
584ff7c29a treemodelfilter: eliminate unread variable assigments
Courtesy of scan-build/clang.
2011-08-22 21:30:35 +02:00
Kristian Rietveld
36f712f272 Add some notes on how filter model testing can be made (even) more thorough 2011-08-22 21:30:34 +02:00
Kristian Rietveld
04885f1c29 Update filtermodel ref count unit tests to new cache depth 2011-08-22 21:30:34 +02:00
Kristian Rietveld
089edcf765 Fix bad typo in gtk_tree_model_filter_build_level() ... 2011-08-22 21:30:34 +02:00
Kristian Rietveld
6cd134d39e gtktreemodelfilter: only maintain cache at 1 level depth instead of 2 2011-08-22 21:30:34 +02:00
Kristian Rietveld
aa9151a6ee Extend public and internal documentation about GtkTreeModelFilter 2011-08-22 21:30:34 +02:00
Kristian Rietveld
52faf1f984 Extend documentation about GtkTreeModelSort internals 2011-08-22 21:30:34 +02:00
Kristian Rietveld
85d4a5abc7 GtkTreeModel: add more detailed documentation on reference counting 2011-08-22 21:30:34 +02:00
Kristian Rietveld
60d031e311 Replace GArray with GSequence in GtkTreeModelSort
This is done in the same way as GArray was replaced with GSequence in
GtkTreeModelFilter, in a patch done by Xavier Claessens.

All sorting code has been reworked to use the GSequence sorting
and insert sort functions, instead of doing a lot on our own.
2011-08-22 21:30:34 +02:00
Kristian Rietveld
ad0f54b87b Add more unit tests for GtkTreeModelSort
To test ref counting during rows-reordered and the new_order arrays supplied
with rows-reordered signals.
2011-08-22 21:30:34 +02:00
Kristian Rietveld
9ef07cb0f3 Move SignalMonitor to treemodel.[ch] so it can be used by other tests 2011-08-22 21:30:34 +02:00
Kristian Rietveld
97b1f34868 Revert usage of parent_elt_index back to parent_elt pointers
Based on earlier patch for GtkTreeModelFilter by Xavier Claessens.
2011-08-22 21:30:33 +02:00
Xavier Claessens
bee3d5f143 Replace GArray with GSequence in GtkTreeModelFilter
Significantly improves performance when e.g. removing (filtering) a lot
of rows from the filter model.  Fixes bug 616871.

This commit includes changes by Kristian Rietveld to make the patch apply
on top of the treemodel-fix branch and pass all newly written unit tests.
2011-08-22 21:30:33 +02:00
Xavier Claessens
eb594da2f2 Revert usage of parent_elt_index back to parent_elt pointers
This was introduced in commit a59c39f370.
The revert is part of bug 616871.  Adaption to recent GtkTreeModelFilter
changes by Kristian Rietveld.
2011-08-22 21:30:33 +02:00
Kristian Rietveld
510d84f682 Do not emit rows-reordered for levels with no visible rows 2011-08-22 21:30:33 +02:00
Kristian Rietveld
21d7eca12a Remove left-over dump call 2011-08-22 21:30:33 +02:00
Kristian Rietveld
3b7aed050d Correct ref transfer in GtkTreeModelFilter rows-reordered handling 2011-08-22 21:30:33 +02:00
Kristian Rietveld
30340e521e Test GtkTreeModelFilter's reference transfers 2011-08-22 21:30:33 +02:00
Kristian Rietveld
e321034074 Unit test GtkTreeModelFilter's rows-reordered emissions 2011-08-22 21:30:33 +02:00
Kristian Rietveld
bcc1fd7efd Unit test rows reordered ref count handling in GtkTreeView 2011-08-22 21:30:32 +02:00
Kristian Rietveld
0ee6141cf6 Should validate TreeModelRefCount before the sort and filter model 2011-08-22 21:30:32 +02:00
Kristian Rietveld
9e2fbca594 Add reference counting unit tests for GtkTreeModelFilter 2011-08-22 21:30:32 +02:00
Kristian Rietveld
f42de9e52a Add more "has child" unit tests
This allows for more thorough testing of "has child" filter functions.
We also test a has child filter function with a sort model as
child model, to verify that we receive enough signals to function
properly.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
504d6715c1 Add cleaned up and easier version of unit test for bug 311955 2011-08-22 21:30:32 +02:00
Kristian Rietveld
35e09df282 Check level length in unit test for bug 311955 2011-08-22 21:30:32 +02:00
Kristian Rietveld
59efa6acdd Remove checks for superfluous signals which are not longer emitted 2011-08-22 21:30:32 +02:00
Kristian Rietveld
b161328682 Correct/expand base tests to check emitted signals
The filter model is now more strict about the signals which are emitted,
so the base tests have been expanded to test with both the root level
nodes collapsed and expanded.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
1158ed5795 treemodelrefcount: check_iter(): check if iter is valid 2011-08-22 21:30:32 +02:00
Kristian Rietveld
07d99d26b2 treemodelrefcount: make it possible to assert within check functions 2011-08-22 21:30:32 +02:00
Kristian Rietveld
88dd6372b0 treemodelfilter: rework reference counting
- Before we kept a reference on all nodes in non-root levels.  This has
   been changed, now we keep a reference on the first node of each level.
   If, due to changes in the model, another node becomes the first node in
   the level, the reference is transferred to this new first node.
 - All non-root levels keep a reference on their parent.
 - By making use of the external ref count, the filter model now emits less
   unnecessary signals.
 - GtkTreeModelFilter does support filter functions which decide visibility
   of a given node based on the number of or visibility of children.
   To accomplish this, a child level of a node is cached when its
   parent has an external ref count > 0, because changes to the node might
   affect this parent.
 - An optimization for not building the root level in case the inserted
   node is not visible in gtk_tree_model_filter_row_inserted() has been
   removed.  In this case, we still need to build the root level and
   possibly a child level to monitor for signals which might make
   this row visible.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
2984e22ef0 treemodelfilter: handle another case in check_ancestors
In gtk_tree_model_filter_check_ancestors(), also handle the case when
a node is already in the cache, but invisible, in the root level.
With the upcoming changes to GtkTreeModelFilter's ref counting this
case can occur.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
52de413d43 treemodelfilter: guard for building already existing levels 2011-08-22 21:30:32 +02:00
Kristian Rietveld
dc15124c6f treemodelfilter: Introduce notion of external ref count
We need to distinguish between the ref count objects have on us versus
the ref count we have on our child model.  To keep track of the former,
we introduce the "external ref count" in this commit.  The zero_ref_count
needs to be determined from the external ref count, because objects that
have a ref count on us have say in which levels must be cached and which
can be released.

Before the caching in GtkTreeModelFilter was essentially broken and
levels were never released.  This was caused because the zero_ref_count
was connected to the ref count the filter model had on its child model.
Now that this depends on the external ref count, this is working fine and
as to be expected.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
058a9090c2 treemodelfilter: Move more missions of row-deleted down
The row-deleted signal should be emitted after the internal data
structures have been updated.  In gtk_tree_model_filter_remove_elt_from_level
and gtk_tree_model_filter_virtual_root_deleted the signal was still being
emitted before the updates were carried out.
2011-08-22 21:30:32 +02:00
Kristian Rietveld
cac5d60633 Unit test reference counting in GtkTreeModelSort 2011-08-22 21:30:31 +02:00
Kristian Rietveld
dec7a34047 Avoid unreferencing deleted nodes
Now that we call unref_node in free_level, we have to take care that
free_level may only unref (parent) nodes when these still exist in the
child model.  After row-deleted has been received for a node, its
children may no longer unref this node.
2011-08-22 21:30:31 +02:00
Kristian Rietveld
7677e2d4e3 Bug 611922 - gtk_tree_model_sort_ref_node() is too slow
Referencing a parent node for each referenced node is overdone.  Instead,
we now reference the parent from build_level and unreference in free_level.
Each level keeps a single reference on its immediate parent.  This both
alleviates the performence problems and should perfectly serve the purpose.
2011-08-22 21:30:31 +02:00
Kristian Rietveld
d241323b08 Move asserts to gtktreemodelrefcount.h for other unit tests to use 2011-08-22 21:30:31 +02:00
Kristian Rietveld
bda09159c3 Add generic GtkTreeModel reference counting unit tests 2011-08-22 21:30:31 +02:00
Kristian Rietveld
1cb14a16b7 Add GtkTreeModelRefCount, only to be used in unit tests 2011-08-22 21:30:31 +02:00
Kristian Rietveld
b8752210ba treemodelsort: Remove unnecessary comment
(I am no longer 17 years old and have grown up by now).
2011-08-22 21:30:31 +02:00
Kristian Rietveld
a485334c37 Add some comments to gtk_tree_model_filter_remove_elt_from_level 2011-08-22 21:30:31 +02:00
Kristian Rietveld
e89782742d Fix a couple of memleaks in the filter model tests
(Not all of them yet, need to do the remainder on Linux since valgrind
on Mac OS X is a bit too noisy).
2011-08-22 21:30:31 +02:00
Kristian Rietveld
76cfd8bfac Bug 621076 - GtkTreeModelFilter does not emit all signals in some ...
The bulk of the fix is to walk the chain of ancestors, starting at the
root level, and check if the visibility of any of the ancestors has
changed.  If yes, the necessary signals are emitted so that this change
is propagated properly.  This walk is done after a node has been
inserted, changed or deleted, see function
gtk_tree_model_filter_check_ancestors().

Bug reported, and initial debugging and analysis, by Xavier Claessens.
2011-08-22 21:30:31 +02:00
Kristian Rietveld
c8783d3339 Decrease code duplication in _remove_elt_from_level take two 2011-08-22 21:30:31 +02:00
Kristian Rietveld
df754517dd Decrease amount of code duplication in _remove_elt_from_level 2011-08-22 21:30:31 +02:00
Kristian Rietveld
a9fd6b7f85 Rename gtk_tree_model_filter_remove_node for internal consistency 2011-08-22 21:30:31 +02:00
Kristian Rietveld
7a82045ca8 Change signature of gtk_tree_model_filter_remove_node 2011-08-22 21:30:31 +02:00
Xavier Claessens
22adfc67e5 Add thorough unit test for bug #621076
Minor edits and additions by Kristian Rietveld.
2011-08-22 21:30:30 +02:00
Kristian Rietveld
a172697d47 Corrections to has-child filter tests 2011-08-22 21:30:30 +02:00
Kristian Rietveld
74764f28bc Improve specific_has_child_filter() test to also verify signals 2011-08-22 21:30:30 +02:00
Kristian Rietveld
ebb12d5f06 Improve specific_root_has_child_filter test to also verify signals 2011-08-22 21:30:30 +02:00
Kristian Rietveld
5bd3c52c0f Have a separate category for tests of gtk_tree_model_filter_row_deleted 2011-08-22 21:30:30 +02:00
Kristian Rietveld
3452b0493d Add two unit tests for gtk_tree_model_filter_row_inserted 2011-08-22 21:30:30 +02:00
Kristian Rietveld
4f33f10511 Use g_assert_cmpint instead of g_assert in check_level_length() 2011-08-22 21:30:30 +02:00
Kristian Rietveld
7b3c2751ee Refactor emitting row-inserted for new nodes to a common code path
Suggested by Xavier Claessens / bug 621076.
2011-08-22 21:30:30 +02:00
Kristian Rietveld
bcb00d9a43 Fix comment 2011-08-22 21:30:30 +02:00
Kristian Rietveld
f064d07bda Factor out find_elt_with_offset
Suggested by Xavier Claessens / bug 621076.
2011-08-22 21:30:30 +02:00
Kristian Rietveld
60f3f92e95 Refactor to a common code path for inserts of nodes in levels
Suggested by Xavier Claessens / bug 621076.

(Additional obseration: this should speed up the filter model's
handling of row-inserted as a binary search is now used instead
of a linear scan).
2011-08-22 21:30:30 +02:00
Xavier Claessens
dc12c373dc Improve error messages of signal monitor 2011-08-22 21:30:30 +02:00
Kristian Rietveld
e0f12ce020 Factor out another part of gtk_tree_model_filter_row_deleted 2011-08-22 21:30:30 +02:00
Kristian Rietveld
1686e515d6 Three more TreeModelFilter remove ancestor tests 2011-08-22 21:30:30 +02:00
Kristian Rietveld
df0fcfb940 In sort model also emit row-deleted after updating the data structures 2011-08-22 21:30:30 +02:00
Kristian Rietveld
e9c960929b Correct GtkTreeModelFilter to never unref an already deleted child node 2011-08-22 21:30:30 +02:00
Kristian Rietveld
b27a6568b7 Improve filter model remove node unit tests 2011-08-22 21:30:29 +02:00
Kristian Rietveld
f0da89fa20 Print failed assertions for failed child iterator conversions 2011-08-22 21:30:29 +02:00
Kristian Rietveld
2f5fbcd10a Make _get_iter invalidate iterators when FALSE is returned 2011-08-22 21:30:29 +02:00
Kristian Rietveld
431987a2fa Add more unit tests for gtk_tree_model_filter_row_deleted() 2011-08-22 21:30:29 +02:00
Kristian Rietveld
56f83ad197 Further reduce variable shadowing by factoring code out into functions 2011-08-22 21:30:29 +02:00
Kristian Rietveld
cb8c608e49 Add unit test for bug 77977 for reference 2011-08-22 21:30:29 +02:00
Kristian Rietveld
ed603fa790 Add bug base and bug numbers to tree model unit tests 2011-08-22 21:30:29 +02:00
Kristian Rietveld
f1d791355a Move TreeModelSort specific tests to a new sortmodel.c file 2011-08-22 21:30:29 +02:00
Kristian Rietveld
b227aa06eb Make naming of tree model unit tests consistent
All test paths now start with the name of the class which is being
tested.
2011-08-22 21:30:29 +02:00
Kristian Rietveld
2cb9f03a66 Put all GtkTreeModel unit tests in a single binary
This to reduce linking time and have all tests in a single binary.
2011-08-22 21:30:29 +02:00
Cosimo Cecchi
a14cecb0ad widget-factory: add the primary-toolbar hint to the toolbar 2011-08-22 11:40:41 -04:00
Chun-wei Fan
0f458f1e35 Update config.h.win32.in
-Only define HAVE_STRINGS_H when MSVC is not used
-Define HVE_STDINT_H for Visual C++ 2010 and later, as Visual C++ 2010
 does ship with a "proper" stdint.h by default
-Add check macros HAVE_RINT and HAVE_ROUND--they are only defined when
 MSVC is not used
-Remove obsolete check macros
2011-08-20 11:18:23 +08:00
Chun-wei Fan
323d24db8c Update configure.ac to check for rint()/round()
Added check in configure.ac to check for the rint() and
round() functions as they are normally only available in C99
compilers.
2011-08-20 11:17:45 +08:00
Chun-wei Fan
ad73ed298d Include C89 fallback code
gtk/gtkborderimage.c, gtk/gtklabel.c and gtk/gtkstyleproperty.c call
round() and/or rint(), which was only available in C99 compilers.

This adds the inclusion of the fallback implementation (gtk/fallback-c89.c)
to define these functions if they are not initially made available by the
compiler.

Also remove the rint() implementation in gtk/gtklabel.c as it is now in
the fallback implmentation.
2011-08-20 11:17:44 +08:00
Chun-wei Fan
db3fecc5b9 Add fallback implemetation for rint()/round()
Add an implementation for rint() and round() for compilers that do not
define one or both of them.  Note that this file should be included
after config.h was included.
2011-08-20 11:17:43 +08:00
Arash Mousavi
054a625497 Updated Persian translation 2011-08-20 00:59:30 +04:30
David Zeuthen
c68eeaa966 Bug 656851 – Allow use of GVariant in GtkListStore
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-08-18 17:49:40 -04:00
Abduxukur Abdurixit
d539ebbf5b Added UG translation 2011-08-19 19:57:26 +02:00
Andika Triwidada
23ebefe8e7 Updated Indonesian translation 2011-08-18 16:29:40 +07:00
Daniel Mustieles
5580fe0e1e Updated Spanish translation 2011-08-17 01:39:00 +02:00
Matthias Clasen
e391bc442a Use GtkFontChooser in testtoplevelembed
This was pointed out in bug 656639.
2011-08-16 10:42:54 -04:00
Fran Dieguez
48d60bd771 Updated Galician translations 2011-08-16 13:31:28 +02:00
Chun-wei Fan
e2397bf0da Update VS property sheets
Copy the Win32-specific GDK backend headers during the "install" stage
as well, as they were missed in the install, causing trouble when
building other projects like WebKitGTK+.

Thanks to greg.hellings for pointing this out in Bug 653964.
2011-08-16 14:38:03 +08:00
Matthias Clasen
1bca4f3eb5 Post-release bump 2011-08-15 22:01:55 -04:00
Matthias Clasen
22a2867d79 3.1.12 2011-08-15 21:58:05 -04:00
A S Alam
ade913a60e update translation for Punjabi 2011-08-16 06:59:47 +05:30
Matthias Clasen
915d32f59c Fix up symbol lists for recent api additions 2011-08-15 21:25:58 -04:00
Matthias Clasen
8e324b38a6 Update NEWS for 3.1.12 2011-08-15 20:49:53 -04:00
Matthias Clasen
2462019449 testgtk: remove dead code 2011-08-15 19:40:24 -04:00
Matthias Clasen
8cf52c8e6c Fix a typo 2011-08-15 19:24:59 -04:00
Matthias Clasen
6877893ed5 Make setting fontname work, independent of a screen 2011-08-15 18:57:58 -04:00
Matthias Clasen
1207757924 Keep the currently selected font over theme changes
When repopulating the list of fonts, don't loose the current
selection, unless the font is no longer in the list.
2011-08-15 18:57:57 -04:00
Matthias Clasen
9c85d4f6df Deprecate GtkFontSelection and GtkFontSelectionDialog 2011-08-15 18:57:57 -04:00
Matthias Clasen
930715665e Trivial formatting fix 2011-08-15 18:57:57 -04:00
Matthias Clasen
d78acb55a0 Add docs 2011-08-15 18:57:57 -04:00
Matthias Clasen
0ee89f1360 Add new symbols 2011-08-15 18:57:57 -04:00
Matthias Clasen
a09ee203ec Add filtering to the font chooser 2011-08-15 18:57:57 -04:00
Matthias Clasen
ba564088c3 Add 'no matches' functionality
Initial cut at showing a 'no matches' message if the font list
is empty.
2011-08-15 18:57:57 -04:00
Matthias Clasen
6fb69845b0 Make the fontchooser dialog come up in a reasonable size
This is not a perfect solution; we really just want to set
a nice default size, but GTK+ does not make that easy.
2011-08-15 18:57:57 -04:00
Matthias Clasen
7c4ad1f400 Just use a single grid
The subgrid didn't really add anything.
2011-08-15 18:57:57 -04:00
Matthias Clasen
43d62c08e3 Clean up error handling 2011-08-15 18:57:57 -04:00
Matthias Clasen
5b9857d9b9 Rename some statics
gtk_font_chooser_ref_{family,face} -> gtk_font_chooser_set_{family,face}
2011-08-15 18:57:57 -04:00
Matthias Clasen
8dbdfa7e73 Avoid extraneous signals at destroy time
We need to disconnect the cursor-changed handler before the
treeview gets destroyed, to avoid unwanted emissions.
2011-08-15 18:57:57 -04:00
Matthias Clasen
96f9b67b51 Fix minor issues in the tests 2011-08-15 18:57:57 -04:00
Matthias Clasen
97d26ac9c0 Simplify a few things
Adwaita seems to misrender focus on entries with margins, so
use spacing instead. Also, don't use entry buffer unnecessarily.
2011-08-15 18:57:57 -04:00
Matthias Clasen
a18fab88a1 Trivial formatting fixes
Just committing these is easier than writing them up.
2011-08-15 18:57:57 -04:00
Alberto Ruiz
a58a2dc0d3 GtkFontChooserDialog: GtkFontButton now uses GtkFontChooserDialog instead of GtkFontSelectionDialog 2011-08-15 18:57:57 -04:00
Alberto Ruiz
e79842ce94 GtkFontChooser: get_font_name did not return the font size 2011-08-15 18:57:56 -04:00
Alberto Ruiz
d33088a805 GtkFontChooser: Stub code to handle empty list by search. 2011-08-15 18:57:56 -04:00
Alberto Ruiz
66a7add23f GtkFontChooser: font-name property notification wasn't properly propagated during size change from the spinbutton 2011-08-15 18:57:56 -04:00
Alberto Ruiz
52177f5e0d GtkFontChooser: Missing G_END_DECLS in fontchooser header 2011-08-15 18:57:56 -04:00
Alberto Ruiz
5795d3d616 GtkFontChooser: Using G_N_ELEMENTS instead of a define 2011-08-15 18:57:56 -04:00
Alberto Ruiz
9245a66e6f GtkFontChooser: Using the widget instead of the private struct as signal data in all conects 2011-08-15 18:57:56 -04:00
Alberto Ruiz
bf8ad994d4 GtkFontChooser: Fixed coding style wrt spacing around operators 2011-08-15 18:57:56 -04:00
Alberto Ruiz
26fb5c90b1 GtkFontChooser: Using explicit comparisons for g_strcmp0 2011-08-15 18:57:56 -04:00
Alberto Ruiz
ab1ebb072e GtkFontChooser: Added missing breaks in switch statements 2011-08-15 18:57:56 -04:00
Alberto Ruiz
c36d291acc GtkFontChooser: Setting all ought to be static functions as static 2011-08-15 18:57:56 -04:00
Alberto Ruiz
bf457d129e GtkFontChooserDialog: Add parent window as a parameter in the constructor 2011-08-15 18:57:56 -04:00
Alberto Ruiz
523190f69a GtkFontChooserDialog: Fix get_font_chooser public function name 2011-08-15 18:57:56 -04:00
Alberto Ruiz
23b15254bb GtkFontChooser: Set correct margin values between UI elements 2011-08-15 18:57:56 -04:00
Alberto Ruiz
a55d2f67b0 GtkFontChooserDialog: Use g_object_new to set initial values in the dialog constructor 2011-08-15 18:57:56 -04:00
Alberto Ruiz
01f279338f GtkFontChooser: Remove outdated Copyright information 2011-08-15 18:57:56 -04:00
Alberto Ruiz
1dda502bcb GtkFontChooser: Fix size synchronization between slider and spin button 2011-08-15 18:57:56 -04:00
Alberto Ruiz
cabfcbd18d GtkFontChooser: Cleanup comments and fix indentation alignments 2011-08-15 18:57:56 -04:00
Alberto Ruiz
e3f70857af GtkFontChooser: Remove default geometry defines 2011-08-15 18:57:55 -04:00
Alberto Ruiz
55d50b3cca GtkFontChooser: Fix scroll callback connected to treeview instead of preview 2011-08-15 18:57:55 -04:00
Alberto Ruiz
9dee34ad27 GtkFontChooser: Remove the themed color for the font title 2011-08-15 18:57:55 -04:00
Alberto Ruiz
f5a00f0c77 GtkFontChooser: Use a nested grid to achieve the right layout in the size controls 2011-08-15 18:57:55 -04:00
Alberto Ruiz
1075b7ac38 GtkFontChooser: Fix expand and fill properties for the grid layout 2011-08-15 18:57:55 -04:00
Alberto Ruiz
d9187472f5 GtkFontChooser: Use GtkBox instead of GtkVBox as base class. 2011-08-15 18:57:55 -04:00
Alberto Ruiz
b37863a5ba GtkFontChooser: Use const instead of G_CONST_RETURN 2011-08-15 18:57:55 -04:00
Alberto Ruiz
03ab18fa7a GtkFontChooser: Add preview entry to the grid 2011-08-15 18:57:55 -04:00
Alberto Ruiz
f60d0dc35a GtkFontChooser: Initial work to use GtkGrid 2011-08-15 18:57:55 -04:00
Alberto Ruiz
4163fa5d29 GtkFontChooser: GtkFontChooserDialog: Update documenation to reflect Since: 3.2 2011-08-15 18:57:55 -04:00
Alberto Ruiz
4add47946b GtkFontChooserDialog: Split the dialog out of gtkfontchooser.[ch] to gtkfontchooserdialog.[ch] 2011-08-15 18:57:55 -04:00
Alberto Ruiz
8e621f593e GtkFontChooser: Use symbolic icons in the filter entry 2011-08-15 18:57:55 -04:00
Alberto Ruiz
5ccc66d855 GtkFontChooser: Now shearch filters each individual term rather than the whole string at once 2011-08-15 18:57:55 -04:00
Alberto Ruiz
db2ef8ce51 GtkFontChooser: Restore automatic alignment on scroll to selection 2011-08-15 18:57:55 -04:00
Alberto Ruiz
7067d36adb GtkFontChooser: Removed support for deprecated functionality from GtkFontSelector 2011-08-15 18:57:55 -04:00
Alberto Ruiz
4bf22639d1 GtkFontChooser: Expose the new widget in gtk.h and add test cases 2011-08-15 18:57:55 -04:00
Alberto Ruiz
334ee81901 GtkFontChooser: Renaming the class names and fixing the tests 2011-08-15 18:57:55 -04:00
Alberto Ruiz
f2376ad401 GtkFontChooser: Remove wrong usage of GTK_DISABLE_DEPRECATED 2011-08-15 18:57:55 -04:00
Alberto Ruiz
bbe8d13c6e GtkFontChooser: Check if the deprecated widgets are present before updating the size list 2011-08-15 18:57:54 -04:00
Alberto Ruiz
1b00a3eb76 GtkFontChooser: Update fontlist on style change 2011-08-15 18:57:54 -04:00
Alberto Ruiz
6dec212d1d GtkFontChooser: Add a property to control whether the preview entry is shown or not 2011-08-15 18:57:54 -04:00
Alberto Ruiz
731120e26e GtkFontChooser: Better test preview text 2011-08-15 18:57:54 -04:00
Alberto Ruiz
c34a2d65d0 GtkFontChooser: Use GTK_DISABLE_DEPRECATED on the test code 2011-08-15 18:57:54 -04:00
Alberto Ruiz
5eb614a25b GtkFontChooser: Add gtk_font_selection_dialog_get_select_button and use GTK_DISABLE_DEPRECATED in gtkfontsel.h 2011-08-15 18:57:54 -04:00
Alberto Ruiz
1ce5a04406 GtkFontChooser: Changed dialog label from OK to Select, deprecated get_ok_button and internal apply button. 2011-08-15 18:57:54 -04:00
Alberto Ruiz
053d34dc47 GtkFontChooser: Added test for GtkFontSelectionDialog 2011-08-15 18:57:54 -04:00
Alberto Ruiz
31776e2a25 GtkFontChooser: implement gtk_font_selection_set/get_preview_text 2011-08-15 18:57:54 -04:00
Alberto Ruiz
14fbbf1420 GtkFontChooser: check if font name is NULL in gtk_font_selection_set_font_name 2011-08-15 18:57:54 -04:00
Alberto Ruiz
ea4603e5d1 GtkFontChooser: gtk_font_selection_set_font_name implementation 2011-08-15 18:57:54 -04:00
Alberto Ruiz
3f2b09422d GtkFontChooser: Setting the font-name property. Test updates. Remove warnings. 2011-08-15 18:57:54 -04:00
Alberto Ruiz
0aae453d77 GtkFontChooser: Improve bootstrapping of the deprecated lists 2011-08-15 18:57:54 -04:00
Alberto Ruiz
2ef00d23e3 GtkFontChooser: Update selection on deprecated size list selection 2011-08-15 18:57:54 -04:00
Alberto Ruiz
dc1a47ad70 GtkFontChooser: Update selection on deprecated face or font list selection 2011-08-15 18:57:54 -04:00
Alberto Ruiz
0ef0359566 GtkFontChooser: Update size when selecting an item of the deprecated size list 2011-08-15 18:57:54 -04:00
Alberto Ruiz
72a971b0e0 GtkFontChooser: Blocking the cursor change callbacks from happening on the deprecated widgets when selecting the font from the fontselector 2011-08-15 18:57:53 -04:00
Alberto Ruiz
c28b1e32e3 GtkFontChooser: Update deprecated font list on slection 2011-08-15 18:57:53 -04:00
Alberto Ruiz
1821eac1c1 GtkFontChooser: Refactoring the default font size, face and family assignment for clarity 2011-08-15 18:57:53 -04:00
Alberto Ruiz
aa10abacbc GtkFontChooser: Use the theme font as the default font 2011-08-15 18:57:53 -04:00
Alberto Ruiz
4b92872a97 GtkFontChooser: Add callbacks and improve test to take deprecated widgets into account 2011-08-15 18:57:53 -04:00
Alberto Ruiz
e80053c659 GtkFontChooser: Use GTK_DISABLE_DEPRECATED to encapsulate the deprecated functionality 2011-08-15 18:57:53 -04:00
Alberto Ruiz
3c0b6914e0 GtkFontChooser: Unref deprecated widgets on finalize 2011-08-15 18:57:53 -04:00
Alberto Ruiz
bb008411e0 GtkFontChooser: Use scrolled windows for the deprecated widgets 2011-08-15 18:57:53 -04:00
Alberto Ruiz
706167bbbd GtkFontChooser: Populate face names in the deprecated face list 2011-08-15 18:57:53 -04:00
Alberto Ruiz
0d112810f9 GtkFontChooser: Populate font family names in the deprecated family list 2011-08-15 18:57:53 -04:00
Alberto Ruiz
8826a10bc8 GtkFontChooser: Add tree view columns for the deprecated widgets 2011-08-15 18:57:53 -04:00
Alberto Ruiz
915b442dc1 GtkFontChooser: Fix segmentation fault in deprecated size list population 2011-08-15 18:57:53 -04:00
Alberto Ruiz
29a0685ee8 GtkFontChooser: Add deprecated calls to the test 2011-08-15 18:57:53 -04:00
Alberto Ruiz
1a2ef4db60 GtkFontChooser: update the size model for the deprecated size list 2011-08-15 18:57:53 -04:00
Alberto Ruiz
e08006f691 GtkFontChooser: initialization and destruction of deprecated widgets and data models 2011-08-15 18:57:53 -04:00
Alberto Ruiz
abc92d5030 GtkFontChooser: Initial support for deprecated functions 2011-08-15 18:57:53 -04:00
Alberto Ruiz
c96698e95f GtkFontChooser: Filter also by font face 2011-08-15 18:57:53 -04:00
Alberto Ruiz
58b2204651 GtkFontChooser: Layout improvements, spacing between elements and default widget size. 2011-08-15 18:57:53 -04:00
Alberto Ruiz
36156a6c49 GtkFontChooser: Layout improvements. Adding shadow to scrolled windows. Font+Face text is now bold. 2011-08-15 18:57:52 -04:00
Alberto Ruiz
f75e4d314a GtkFontChooser: Improvements on the size setting signals between the preview, scale and spinbutton. Adding more string fields to the model to allow for backwards compatibility. 2011-08-15 18:57:52 -04:00
Alberto Ruiz
1688512252 GtkFontChooser: Fixing mouse scroll zooming behaviour for the preview and the size controls 2011-08-15 18:57:52 -04:00
Alberto Ruiz
858e13cad6 GtkFontChooser: Setting a minimum width andfix the markup for the rows 2011-08-15 18:57:52 -04:00
Alberto Ruiz
af14106a63 GtkFontChooser: Ellipsize cell renderer and set a better size list 2011-08-15 18:57:52 -04:00
Alberto Ruiz
0db1b63b1f GtkFontChooser: Keep reference to the face and the family objects 2011-08-15 18:57:52 -04:00
Alberto Ruiz
88ab6f14d3 GtkFontChooser: Better cursor selection and model leak fixes 2011-08-15 18:57:52 -04:00
Alberto Ruiz
077d897fa4 GtkFontChooser: Added a test program 2011-08-15 18:57:52 -04:00
Alberto Ruiz
f3e9bb312e GtkFontChooser: Enable font selection 2011-08-15 18:57:52 -04:00
Alberto Ruiz
c9150374d9 GtkFontChooser: Setting a default vertical size 2011-08-15 18:57:52 -04:00
Alberto Ruiz
7f125d95e8 GtkFontChooser: Layout enhancements, using a scrolled window for the preview entry. 2011-08-15 18:57:52 -04:00
Alberto Ruiz
cbaca3e4bf GtkFontChooser: Fixed size updating in the preview 2011-08-15 18:57:52 -04:00
Alberto Ruiz
272f11069f GtkFontChooser: Improvements on the spin/slider interaction 2011-08-15 18:57:52 -04:00
Alberto Ruiz
c303d0b18c GtkFontChooser: The spinner now updates the slider size if it is within the range 2011-08-15 18:57:52 -04:00
Alberto Ruiz
1fa2c503a7 GtkFontChooser: Getting the refiltering right for the clear icon. Filter function speedups. 2011-08-15 18:57:52 -04:00
Alberto Ruiz
94ee606f62 GtkFontChooser: Search entry icon is now dynamic depending on the content 2011-08-15 18:57:52 -04:00
Alberto Ruiz
4db5ea20e8 GtkFontChooser: Set the initial size to the slider, initial callbacks for size change 2011-08-15 18:57:52 -04:00
Alberto Ruiz
fb19245493 GtkFontChooser: Live search implemented 2011-08-15 18:57:51 -04:00
Alberto Ruiz
693617700b GtkFontChooser: Inserted and deleted text callbacks 2011-08-15 18:57:51 -04:00
Alberto Ruiz
76809e128a GtkFontChooser: Adding a tree model filter for the search functionality 2011-08-15 18:57:51 -04:00
Alberto Ruiz
ce10919978 GtkFontChooser: Setting the default preview text and the default font size 2011-08-15 18:57:51 -04:00
Alberto Ruiz
9af88217d1 GtkFontChooser: Compilation warning cleanups 2011-08-15 18:57:51 -04:00
Alberto Ruiz
b79802789d GtkFontChooser: Iterate over faces as well as families to list them 2011-08-15 18:57:51 -04:00
Alberto Ruiz
f854a46890 GtkFontChooser: Improvements in the font face listing 2011-08-15 18:57:51 -04:00
Alberto Ruiz
8655384f51 GtkFontChooser: Set rules hint to TRUE in the main tree view 2011-08-15 18:57:51 -04:00
Alberto Ruiz
7611fe60f8 GtkFontChooser: Populated font list model 2011-08-15 18:57:51 -04:00
Alberto Ruiz
e570a91abb GtkFontChooser: Add column and cell renderer 2011-08-15 18:57:51 -04:00
Alberto Ruiz
6439fb4263 GtkFontChooser: Create functions to bootstrap the treeview column and settings and update the font list 2011-08-15 18:57:51 -04:00
Alberto Ruiz
48473b48e6 GtkFontChooser: Set vbox to no homogeneus 2011-08-15 18:57:51 -04:00
Alberto Ruiz
8a4cda71af GtkFontChooser: Setting the height of the preview and have a define for the top padding 2011-08-15 18:57:51 -04:00
Alberto Ruiz
6c44e85852 GtkFontChooser: Added slider and spin button 2011-08-15 18:57:51 -04:00
Alberto Ruiz
f0eef60123 GtkFontChooser: Adding the preview 2011-08-15 18:57:51 -04:00
Alberto Ruiz
f59b74622d GtkFontChooser: Adding the alignment to the selection 2011-08-15 18:57:51 -04:00
Alberto Ruiz
0c721d919c GtkFontChooser: Create alignment for the preview entry 2011-08-15 18:57:51 -04:00
Alberto Ruiz
1b302d3fad GtkFontChooser: Added main treeview 2011-08-15 18:57:51 -04:00
Alberto Ruiz
d46d1d7fcd GtkFontChooser: Avoid using show_all explicitely 2011-08-15 18:57:50 -04:00
Alberto Ruiz
810eda9cca GtkFontChooser: Create fundamental widgets for the new GtkFontSelection 2011-08-15 18:57:50 -04:00
Alberto Ruiz
9702e7c456 GtkFontChooser: Add private members to GtkFontSelectionPrivate 2011-08-15 18:57:50 -04:00
Alberto Ruiz
4f38ff9757 GtkFontChooser: Remove all cruft from the current GtkFontSelection implementation and start a new widget 2011-08-15 18:57:50 -04:00
Jesse van den Kieboom
99686a2fef Added gtk_text_iter_assign API
https://bugzilla.gnome.org/show_bug.cgi?id=645258
2011-08-15 15:29:23 +02:00
Paolo Borelli
508353fd15 Do not manually create empty label
gtk_notebook_update_labels will take care of creating it if needed.
2011-08-15 15:08:28 +02:00
Greg Hellings
bd26ce1db6 Install gdk/win32 headers
Added install commands for the gdk/win32 headers as referenced from
gdkwin32.h.

https://bugzilla.gnome.org/show_bug.cgi?id=653964
2011-08-15 13:00:14 +03:00
Kalev Lember
d86c1486ba gtk-demo: Fix the path to demo sources for the win32 build 2011-08-14 15:18:38 +03:00
John (J5) Palmieri
c3e0a0035e [gi] annotate gdk_container_set_user_data to take a GObject
* this allows bindings to correctly marshal the parameter
2011-08-14 08:07:10 -04:00
John Ralls
f84c787be4 Bug 655122: Lion Crashes during resize
Move resizing detection to a separate function and on 10.7 detect
resizes on all edges so that they don't result in grabs.
2011-08-13 15:30:59 -07:00
John Ralls
fc7dfd7246 Bug 655122: Detect OSX version for handling version-dependent special
cases (the one at hand is window resizing, which is handled differently
on OSX 10.7 from earlier versions).
2011-08-13 15:29:11 -07:00
Jorge González
7862187015 Updated Spanish translation 2011-08-13 17:37:02 +02:00
Laszlo Pandy
991b782b75 Fix incomplete &gt; entities in docs. 2011-08-13 15:22:44 +02:00
plesry
c4008dff3b Updated Traditional Chinese translation(Hong Kong and Taiwan) 2011-08-13 15:23:01 +08:00
Javier Jardón
8afe90224b configure.ac: Bump gdk-pixbuf required version
gdk-pixbuf 2.22.0 relies on G_CONST_RETURN which is deprecated by now.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=656421
2011-08-12 20:02:59 +01:00
Alexander Shopov
4cdc14d55f Updated Bulgarian translation 2011-08-11 22:11:28 +03:00
Cosimo Cecchi
9d269bd7f2 settings: use the right RC parser for the gtk-visible-focus setting
Without the parser the property the property won't be settable by themes
using settings.ini
2011-08-11 15:38:45 +02:00
Jürg Billeter
c7bcef426b widget: Add transfer annotation for gtk_widget_set_window
gtk_widget_set_window does not add any reference to the window and
unrealize will destroy it.
2011-08-11 12:35:46 +02:00
Javier Jardón
9e89bf34bf Remove local copy of introspection.m4
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=652991
2011-08-10 21:15:56 +01:00
Dan Winship
c4a5c99074 Fix cut-and-paste error in GtkEntryAccessible/GtkLabelAccessible
The y position of the character depends on the window's y coordinate,
not its x coordinate.
2011-08-10 15:19:56 -04:00
Matthias Clasen
2ba9c4b4a7 Make focus rectangles optional
This commit introduces a new setting, gtk-visible-focus, backed
by the Gtk/VisibleFocus X setting. Its three values control how
focus rectangles are displayed.

'always' is equivalent to the traditional GTK+ behaviour of always
rendering focus rectangles.

'never' does what it says, and is intended for keyboardless
situations, e.g. tablets.

'automatic' hides focus rectangles initially, until the user
interacts with the keyboard, at which point focus rectangles
become visible.

https://bugzilla.gnome.org/show_bug.cgi?id=649567
2011-08-10 16:34:20 +02:00
Daniel Mustieles
6596dbff31 Updated Spanish translation 2011-08-10 13:30:55 +02:00
Rachid BM
99080af3ee Language improvements
Changed rgba to uppercase (Only in UI strings)
Fixed the typo: tolevel -> toplevel
2011-08-10 12:15:32 +01:00
Cosimo Cecchi
7e22b46c1f combobox: add a "combobox-entry" style class for comboboxes with entries
This way themes can use GtkComboBox.combobox-entry to match that
specific case, and GtkComboBox.combobox-entry .button to match the
button/arrow side of the widget.
2011-08-09 16:08:00 +02:00
Matthias Clasen
d324a99454 Fix entry drawing in the presence of margins
Margins need to be taken into account when comparing requisitions
and allocations, which GtkEntry (and subclasses) do for some reason.
2011-08-09 15:12:21 +02:00
Matthias Clasen
17f99f663f GtkGrid: Add a way to insert rows or columns
This is useful functionality that makes it easier to insert
things in the middle of an already populated grid.

Bug 653817
2011-08-08 13:13:48 +02:00
Will Thompson
5bfef8c80a GtkAppChooser: improve grammar in short_description
https://bugzilla.gnome.org/show_bug.cgi?id=656098
2011-08-07 12:12:11 +02:00
Ignacio Casal Quinteiro
92e1d27475 Fix warning 2011-08-06 19:02:16 +02:00
Benjamin Berg
94782e914c Fix polling for new data in cups print backend (bug #599664) 2011-08-06 10:37:21 +02:00
Federico Mena Quintero
d4b992506a Merge branch 'bgo593793-filechooser-recent-folders-master' 2011-08-02 11:46:05 -05:00
Federico Mena Quintero
2485273247 bgo#655822 - Put back the expand-folders schema in gsettings
Apparently schemas are part of the ABI contract; running apps crash if a
schema disapppears and they happen to access it.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-08-02 11:45:47 -05:00
Daniel Nylander
6c64427273 Updated Swedish translation 2011-08-02 00:46:30 +02:00
Daniel Nylander
48d859b823 Updated Swedish translation 2011-08-02 00:44:17 +02:00
Pavel Holejsovsky
bb09982b66 Avoid introspection scanner warning on GtkPlug and GtkSocket
Make sure that sources with annotations are included into the list of
sources passed to introspection scanner.
2011-08-01 11:09:57 +02:00
Pavel Holejsovsky
21a5b038a7 Add annotations so that methods are properly paired to objects.
Add type annotations to 1st argument of gdk_x11_* functions so that they are
properly recognized as methods of GdkX11 objects.

https://bugzilla.gnome.org/show_bug.cgi?id=655496
2011-08-01 11:09:49 +02:00
Pavel Holejsovsky
0893a3fd39 Enable introspection of X11-specific functions and methods
Functions dealing with native Xlib types were (skip)ed because
gobject-introspection did not have correct Xlib types declarations.
They are corrected now, so these GdkX11 functions can be enabled back
again.

https://bugzilla.gnome.org/show_bug.cgi?id=655495
2011-08-01 11:09:39 +02:00
Kristian Rietveld
dca9db124b Bug 655545 - condition can never be true in gtk_tree_view_real_set_cursor
Spotted by Ben Pfaff.
2011-07-30 23:01:38 +02:00
Kristian Rietveld
58ba8a7c7f quartz: use already existing current_button_state variable 2011-07-30 23:01:38 +02:00
Kristian Rietveld
a979e414fb quartz: remove _gdk_quartz_events_get_current_event_mask 2011-07-30 23:01:38 +02:00
Kristian Rietveld
c9f6c7645c quartz: return modifiers instead of an event mask ... 2011-07-30 23:01:37 +02:00
Kristian Rietveld
ceca333309 quartz: Remove MAC_OS_X_VERSION_MIN_ALLOWED ifdef
I tried to suppress compiler warnings on pre-10.6 machines this way,
but it defeats its purpose when you compile for pre-10.6 machines on
a 10.6 machine.  For now, we have to live with the warnings when
compiling on/for pre-10.6 machines, there does not seem an easy and proper
way to suppress the warnings.
2011-07-28 17:44:02 +02:00
Sergio Cipolla
39a4017c33 Fixed a string in Brazilian Portuguese translation 2011-07-28 09:45:59 -03:00
Federico Mena Quintero
af00ca81e1 Merge branch 'bgo593793-filechooser-recent-folders-master' 2011-07-27 18:56:39 -05:00
Federico Mena Quintero
9112cb4dfa Set the location mode when changing the operation mode
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:27 -05:00
Federico Mena Quintero
80d0efd94a Switch to OPERATION_MODE_BROWSE when switching to volume or file shortcuts
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:22 -05:00
Federico Mena Quintero
ff95a79d98 Remove the unused, initial-text logic from the location entry
Years ago, when the location entry only appeared in a popup window, it used to appear
populated with the current folder's path.  We had some logic to do this, but since now
the location entry appears in the main dialog, we can do away with that old code.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:18 -05:00
Federico Mena Quintero
fa2e287687 Create the location_entry in a single function
We had duplicated code to create the entry in two cases, for Open and for Save modes.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:15 -05:00
Federico Mena Quintero
9ed65c5620 Only unset the entry's contents if the entry exists
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:11 -05:00
Federico Mena Quintero
6c31de64b3 Discard the search widgets in a separate function
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:06 -05:00
Federico Mena Quintero
3de864cfff Move the widgets above the hpaned to their own box
This way we can re-create the contents of that box easily without disrupting
the rest of the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:56:02 -05:00
Federico Mena Quintero
c1fbdb4fd0 Make operation_mode_set() handle SEARCH and RECENT modes as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:55:58 -05:00
Federico Mena Quintero
cccf35f862 Centralize changing the operation mode in operation_mode_set()
This will be the central function to switch operation modes:  stop searches or the recent-files
process; switch widgets, etc.

We factor out the common code from recent_switch_to_browse_mode() and search_switch_to_browse_mode(),
and remove those functions.  All the code that switched modes by hand now calls
the central operation_mode_set().

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:55:54 -05:00
Federico Mena Quintero
7726276fe9 Remove duplicated code from *_switch_to_browse_mode()
That code indeed lives in operation_mode_stop(), so use it instead of
having inlined duplicates.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:55:50 -05:00
Federico Mena Quintero
9e6e6575de Rename stop_operation() to operation_mode_stop()
We'll now prefix functions to change the impl->operation_mode with 'operation_mode',
for clarity.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:55:45 -05:00
Federico Mena Quintero
8962e0383f Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:54:52 -05:00
Federico Mena Quintero
7985ab786d Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-27 18:54:42 -05:00
Kristian Rietveld
8d69f3daf2 Bug 508601 - Copying from GTK+ applications causes crash
In GtkClipboardOwner pasteboard:provideDataForType do not call
_gtk_quartz_set_selection_data_for_pasteboard() is selection_data.length
is smaller than 0.  The function relies on having a positive length,
since it stores the length in a uint ...
2011-07-25 22:05:52 +02:00
Matthias Clasen
b0dd7e1cfd widget-factory: small tweaks
Use our canonical example url in the link button, use the placeholder-text
feature for the search entry, and add a runtime switch for the dark theme.
2011-07-25 10:20:56 -04:00
Michael Hutchinson
786521d5a8 Bug 655074 - Fix crash with undecorated windows on MacOS Lion 2011-07-25 12:33:26 +02:00
Matthias Clasen
093612a46c Use G_DEFINE_TYPE for GtkIconViewItemAccessible 2011-07-25 00:46:34 -04:00
Matthias Clasen
2c6c0fe329 Minor cleanups 2011-07-25 00:34:08 -04:00
Matthias Clasen
a4560cdfbb Rework AtkText implementation
Use a PangoLayout, instead of storing a text buffer per item.
And use gtkpango api instead of implementing it all ourselves.
2011-07-25 00:27:42 -04:00
Matthias Clasen
26a040e81b Drop some grandiosity from the AtkAction implementation
There is only one action here, no need to pretend otherwise.
2011-07-24 23:59:00 -04:00
Matthias Clasen
625947f9f2 Use G_DEFINE_TYPE for GtkIconViewAccessible 2011-07-24 23:48:41 -04:00
Matthias Clasen
fadd58a0fb Drop GtkIconViewAccessiblePrivate
Just put the members in GtkIconViewAccessible itself.
2011-07-24 23:28:57 -04:00
Matthias Clasen
8a544d54ea Move GtkBuildable implementation up before accessibility
Just code rearrangement, no other changes.
2011-07-24 23:04:02 -04:00
Matthias Clasen
b7abf0b3ce Mention the demise of gail in 3.2 release notes 2011-07-23 22:28:29 -04:00
Matthias Clasen
2983f3fc14 Update gtk_widget_get_accessible() docs
Don't mention GTK_MODULES for loading a11y implementations
anymore.
2011-07-23 21:28:29 -04:00
Felix Riemann
e8486fdf71 gtkstyleproperty: fix small memory leak
The released value is a string array and thus g_free is not sufficient.

https://bugzilla.gnome.org/show_bug.cgi?id=655173
2011-07-23 21:40:59 +02:00
Matthias Clasen
28cb6f4bb3 Fix up last commit 2011-07-23 13:52:29 -04:00
Matthias Clasen
2937a875a0 Ditch some long dead perl cruft 2011-07-23 13:44:45 -04:00
Yuri Kozlov
07f525368d Updated Russian translation 2011-07-23 21:26:47 +04:00
Matthias Clasen
3f07c44ea9 post-release bump 2011-07-23 10:24:25 -04:00
Matthias Clasen
c3be60198f Towards a working distcheck 2011-07-23 10:12:55 -04:00
Matthias Clasen
749b6cc635 Fix make dist 2011-07-23 10:12:55 -04:00
Luca Ferretti
c10c08ddd6 [l10n] Updated Italian translation 2011-07-23 15:20:35 +02:00
Rico Tzschichholz
ecd5f73dd7 build: Fix makefile for new location of test image 2011-07-23 12:27:45 +02:00
Matthias Clasen
117169649b More updates 2011-07-22 22:01:51 -04:00
Matthias Clasen
ec72283a65 some minor doc fixes 2011-07-22 22:00:34 -04:00
Matthias Clasen
f7e927b93c Try to make the docs build again
After some searching, it turns out that gtk-doc now interprets
markdown, and can no longer accept '-' in the docs without making
a mess. I hope that this does not affect more places in more
subtle ways.
2011-07-22 21:54:08 -04:00
Matthias Clasen
b555a979a4 Drop non-existing functions 2011-07-22 21:53:20 -04:00
Matthias Clasen
a03ab2396e Keep building libgail-util docs for now 2011-07-22 19:52:54 -04:00
Benjamin Otte
d82aeb8245 tests: Fix stylecontext test that we changed semantics for
We don't have different priorities for superclasses anymore.
2011-07-23 01:24:07 +02:00
Philip Withnall
0b4d8433d4 Bug 654266 — No longer possible to set empty text on a GtkProgressBar
Change the semantics of GtkProgressBar:text slightly so that it behaves as
it did before GTK+ 3.

Closes: bgo#654266
2011-07-23 00:09:30 +01:00
Matthias Clasen
71a70a7d5c Use generic marshaler
If only to keep people from refiling the same issue over
and over again...
2011-07-22 18:51:11 -04:00
Matthias Clasen
edcce8e6ba Updates for 3.1.10 2011-07-22 18:51:11 -04:00
Patrick Welche
0388781e8f XK_Num_Lock is called GDK_KEY_Num_Lock in this source tree. 2011-07-22 19:19:33 +01:00
Andre Klapper
91706f7883 Don't use deprecated G_UNICODE_COMBINING_MARK 2011-07-22 19:56:49 +02:00
Javier Jardón
b2d679a45c configure.ac: Bump glib required version
GTK+ depends on Glib 2.29.14 because we are using the new added
g_format_size() glib function
2011-07-22 14:20:50 +02:00
Benjamin Otte
d56e8c8e54 tests: Move declaration tests to new test infrastructure
This way, we can test more feature of them, in particular check for
different errors, which were causing test failures.
2011-07-21 02:43:54 +02:00
Benjamin Otte
47635a2434 themingengine: Return NULL for nonexistant theming engines
his also makes the function conform to its documentation.
2011-07-21 02:43:54 +02:00
Benjamin Otte
9062060304 css: Don't print both border-image-repeat values when they're identical 2011-07-21 02:43:54 +02:00
Benjamin Otte
72bc10a61c css: Ensure that font shorthand parsing sets font name and size 2011-07-21 02:43:54 +02:00
Benjamin Otte
5a1e1579b3 styleproperty: dump image surfaces as PNG data URLs
We're not able to load that (yet?), but it's useful for producing
diffable test dumps.
2011-07-21 02:43:54 +02:00
Benjamin Otte
db66618227 reftests: Add test for border radius clamping 2011-07-21 02:43:54 +02:00
Andrea Cimitan
b3f03d092f roundedbox: Clamp border radius to box size
Note that clamping in rounded_box_grow() is not necessary as that
function cannot lead to overlap unless the rounded box was overlapping
previously.

https://bugzilla.gnome.org/show_bug.cgi?id=655009
2011-07-21 02:43:54 +02:00
Benjamin Otte
a02b82056a tests: Remove unused file from EXTRA_DIST 2011-07-21 02:43:54 +02:00
Benjamin Otte
b0b287f7b5 themingengine: Use the default way of indicating privates 2011-07-21 02:43:54 +02:00
Benjamin Otte
9e36bea907 styleproperty: An unnamed engine equals the default engine 2011-07-21 02:43:54 +02:00
Benjamin Otte
d314709af6 tests: Declare previously invalid CSS as valid now
The CSS is valid, it might just not work (though most of it will for
siblings).
2011-07-21 02:43:54 +02:00
Benjamin Otte
4f5e69fa2c tests: Fix whitespace between url and (
It's not allowed according to CSS (and browsers).
2011-07-21 02:43:54 +02:00
Benjamin Otte
5a1f371e12 cssprovider: Fix names for first and last child pseudo class
The correct name is :first-child, not :first
2011-07-21 02:43:53 +02:00
Ryan Lortie
4ead7b69ea Switch to g_format_size()
g_format_size_for_display() has been deprecated in GLib and replaced with
g_format_size().  Follow that change.
2011-07-20 20:22:26 +02:00
Chun-wei Fan
dc0149612f Update Visual Studio Project Files
-Change ATK dependency back to atk-1.0.lib, and the corresponding include
 folder back to atk-1.0 for all projects as ATK-2.x will still retain the
 1.0 suffixes. (ATK Commit 01cec72)
-Update corresponding description in the VS README.txt files
-Also fix up the VS2010 README.txt file a bit.
2011-07-20 10:40:54 +08:00
Benjamin Otte
75a43bb40c tests: Move empty css parser test to new CSS tests 2011-07-20 02:36:44 +02:00
Benjamin Otte
15674c5bd4 tests: Move stylecontext CSS tests
Use the new CSS infrastructure for part of the old CSS tests. This way
we can probably check for warning messages such as deprecations.
2011-07-20 02:36:44 +02:00
Benjamin Otte
1a763044fe cssprovider: Emit an error when parsing a binding fails 2011-07-20 02:36:44 +02:00
Benjamin Otte
b8465d289b cssprovider: Get the location right for semicolon warnings 2011-07-20 02:36:44 +02:00
Benjamin Otte
5eefc37b3f cssprovider: @import <string> is valid CSS
The parser rewrite insisted on @import url(<string>) syntax, but CSS
xplicitly allows omitting the url string.
2011-07-20 02:36:44 +02:00
Benjamin Otte
014165151f css: Use the correct free function 2011-07-20 02:36:44 +02:00
Benjamin Otte
ebadb36962 notebook: Remove unused private member variable 2011-07-20 02:36:44 +02:00
Matej Urbančič
cb34cfea45 Updated Slovenian translation 2011-07-19 22:28:46 +02:00
Benjamin Otte
1cdb47d960 notebook: Remove the homogenous private member variable
It's unused and therefor always FALSE, so we can remove the parts of the
code that branch based on it.
2011-07-19 12:53:06 +02:00
Benjamin Otte
20c6acfc8d reftests: Add test for recent fix
https://bugzilla.gnome.org/show_bug.cgi?id=654678
2011-07-19 11:58:22 +02:00
Benjamin Otte
6aa000f65b styleproperties: Add unset functions for shorthands
This fixes calls to gtk_style_properties_unset_property() for
shorthand properties.

https://bugzilla.gnome.org/show_bug.cgi?id=654678
2011-07-19 11:58:22 +02:00
Benjamin Otte
68ebc77a9a styleproperties: Add an unset vfunc to style properties
This makes unsetting work for shorthands.
2011-07-19 11:58:22 +02:00
Philip Withnall
fd705ce7c7 progressbar: Fix a signed/unsigned comparison 2011-07-18 19:35:02 +01:00
Benjamin Otte
b0e836e231 a11y: Merge gtksubmenuitem into gtkmenuitem
The reason why they were separate is historic, it's not useful to keep
the distinction.
2011-07-18 19:41:07 +02:00
Benjamin Otte
9306b266a0 a11y: Rename checksubmenuitem to checkmenuitem 2011-07-18 19:21:17 +02:00
Benjamin Otte
77f411c77a a11y: Remove gtkcheckmneuitemaccessible.[ch]
COde uses gtkchecksubmenuitemaccessible exclusively now. And I totally
dig these long finger-twisting names.
2011-07-18 19:05:28 +02:00
Benjamin Otte
fa16a54b21 a11y: Rename radiosubmenuitem to radiomenuitem 2011-07-18 19:01:40 +02:00
Benjamin Otte
438b78a27d a11y: Remove gtkradiomenuitemaccessible.[ch]
We use gtkradiosubmenuitemaccessible exclusively these days.
2011-07-18 18:47:12 +02:00
Benjamin Otte
d5ef8448bb checkbutton: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:51 +02:00
Benjamin Otte
0c9b046af0 accellabel: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:51 +02:00
Benjamin Otte
f2626b6183 menubar: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:51 +02:00
Benjamin Otte
9c30ae02ee toolbar: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
96245d4efb viewport: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
d9bfa563d0 tearoffmenuitem: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
480b5862d4 plug: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
27f96820c8 fontsel: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
c40875ad51 messagedialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
6379faaa90 dialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
2e570136f5 colorsel: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
299b3bed96 filechooserdialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
9c81336830 widget: Reset the accessible role when a new accessible type is set
We want the role to be kept in the accessible object. Using
gtk_widget_class_set_accessible_role() is only meant as a quick
workaround to requiring subclassing of the accessibles in the quite
common case where a subclass does not change the accessible
implementation at all and only has a different role.
2011-07-18 18:30:50 +02:00
Benjamin Otte
b61a200036 separatormenuitem: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
094785bd68 separator: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
017d02b9de hsv: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
8815ccf5c4 calendar: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
b17ad131ea API: Add gtk_widget_class_set_accessible_role()
Easy access to modifying the roles of subclasses, as this is a thing
that commonly changes for various subclasses.
2011-07-18 18:30:49 +02:00
Benjamin Otte
c0df6f9622 menushell: Use GtkMenuShellAccessible as a11y object
Previously it was only used by GtkMenuBar, and that's a naming mismatch.
2011-07-18 18:30:49 +02:00
Benjamin Otte
54e1caa428 a11y: Remove separator menu item special case
gtkseparator.c already takes care of this case.
2011-07-18 18:30:49 +02:00
Benjamin Otte
1f4b524558 assistant: Use gtk_container_remove() when removing pages
Ensures that we properly emit the "remove" signal.
2011-07-18 10:54:57 +02:00
Matthias Clasen
3bfa69fa53 Don't use object data for layer
Just add a regular member in GtkWidgetAccessible for it.
2011-07-17 23:17:38 -04:00
Matthias Clasen
6d33c783d0 Get rid of the focus_gtk vfunc
Only GtkWidgetAccessible and GtkWindowAccessible had implementations,
and they could easily be converted to focus_event handlers.
2011-07-17 23:04:00 -04:00
Matthias Clasen
2b5140c974 Avoid a compiler warning 2011-07-17 23:03:34 -04:00
Matthias Clasen
f9c4977306 Update expected test output
There was some stipple left there, still.
2011-07-17 19:38:23 -04:00
Matthias Clasen
2da37ba038 Don't run testfocus in 'make check'
It is not meant for that.
2011-07-17 19:37:39 -04:00
Matthias Clasen
095ea84611 Make destroying assistants work again
During destruction, we need to be careful to not ask the content
notebook to remove itself from itself.
2011-07-17 19:35:37 -04:00
Matthias Clasen
e756b2e50d Use canonical names
Use canonical names for both signals and properties.
2011-07-17 18:52:37 -04:00
Matthias Clasen
dc2ae6c0a5 Don't emit a nonexisting signal
The signal is called "popdown", not "podown".
2011-07-17 18:45:46 -04:00
Matthias Clasen
25a4e8e7de Don't return a value from a void function
Reported in bug 654720, patch by Brian Cameron.
2011-07-17 18:05:17 -04:00
Aurimas Černius
bb4c98b783 Updated Lithuanian translation. 2011-07-16 17:23:39 +03:00
Aurimas Černius
69e594f04d Updated Lithuanian translation. 2011-07-16 17:10:40 +03:00
Matthias Clasen
ffa112d586 Add an initial focus testbed
This is an attempt to explore differences in GTK+'s and gails
notions of which widget currently has the focus. Since gail
does all its focus updates in an idle, we cannot do the
comparisons synchronously, so just check ever so often in
a timeout.
2011-07-16 10:03:20 -04:00
Matthias Clasen
102faa3037 GtkLabelAccessible: avoid extra selection-changed emissions
This copies the same code that the entry accessible uses
to check for selection changes.

https://bugzilla.gnome.org/show_bug.cgi?id=654428
2011-07-16 09:44:02 -04:00
Florian Müllner
7741f5a09a theming-engine: Adjust register_property() to recent glib change
GParamSpec now uses an intern'ed string for 'name', so the code
in gtk_theming_engine_register_property() which prefixes the name
with a namespace has to be adjusted.

https://bugzilla.gnome.org/show_bug.cgi?id=654695
2011-07-15 20:50:26 +02:00
Carlos Garnacho
b5f30143ed x11: Skip GenericEvents with no cookie data in the xi2 device manager
https://bugzilla.gnome.org/show_bug.cgi?id=653947

It could happen that a cookie event has been already allocated/freed
in an event filter, as it can't be allocated a second time, all GDK
can do is skipping the event. Spotted by Guillaume Desmottes.
2011-07-15 18:33:44 +02:00
Carlos Garnacho
6aab48ead0 gdk/x11: Add gdk_x11_device_manager_lookup()
This function can be used to find the GdkDevice wrapping
an XInput2 device ID. For core devices, the Virtual Core
Pointer/Keyboard IDs (2/3) may be used.
2011-07-15 18:14:38 +02:00
Carlos Garnacho
f90c154472 gdk/x11: Add gdk_x11_device_get_id()
This function can be used to find out the XInput2 device ID
behind a GdkDevice, mostly useful when you need to interact
with say Clutter, or raw libXi calls.
2011-07-15 18:14:38 +02:00
Matthias Clasen
1f264ddb4b Don't use deprecated style api
gtk_widget_modify_font() has been superseded by
gtk_widget_override_font(), so use that in GtkMessageDialog.
2011-07-15 11:07:38 -04:00
Yaron Shahrabani
b5f4a5689b Updated Hebrew translation. 2011-07-15 11:03:43 +03:00
Matthias Clasen
3cc22eed44 Add some GtkAccessible documentation
Describe the current thinking about how to provide
3rd party accessible implementations.
2011-07-14 19:50:21 -04:00
Matthias Clasen
7c2414ec7e Drop private GtkAccessible api
We no longer use factories anywhere.
2011-07-14 19:42:12 -04:00
Matthias Clasen
3e05518881 Drop unneeded includes
We no longer use the private GtkAccessible api here.
2011-07-14 19:40:50 -04:00
Matthias Clasen
d8c00cd537 Revert "Add a getter for the accessible type of a widget class"
This reverts commit 9a212b3120.
2011-07-14 19:28:07 -04:00
Kristian Rietveld
88a18a28d5 quartz: Remove call to deprecated gdk_pointer_ungrab 2011-07-14 14:22:38 +02:00
John Ralls
86794ce008 Bug 653450 - gtkfilechooser crashes when added favorite
Ensure that display is set during drag-and-drop, and that string lists'
memory is zeroed after allocation to prevent g_strfreev() from
over-running.
2011-07-14 14:17:51 +02:00
Chun-wei Fan
cbc593bc22 Dist the VS 2008 a11y/libgail-util projects
Accidently left out this item in my last commit...
2011-07-14 11:57:22 +08:00
Chun-wei Fan
5ab8120689 Added VS projects for a11y and libgail-util
-Added projects to compile the a11y portion of GTK+.  This is now necessary
 as a11y/GAIL is now integrated into the main GTK+ library, and it must
 be built before compiling/linking GTK+.  This project is done like the
 GDK/GTK+ projects, where the source file listings for the VS2008/2010
 projects are fed into templates (.vcprojin, .vcxprojin and
 .vcxproj.filtersin) during 'make dist'
-Added projects to compile the libgail-util DLL (no templates for this
 as this does not have source files added/removed often)
-Added the new projects into distribution, and headers, DLLs and .LIB files
 into the "install" stage
2011-07-14 11:53:36 +08:00
Matthias Clasen
9a212b3120 Add a getter for the accessible type of a widget class
This will be necessary to port out-of-tree a11y implementations
from the atk object factory approach to this new way of doing
things.
2011-07-13 23:02:25 -04:00
Federico Mena Quintero
b53f602891 Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-13 16:39:12 -05:00
Mario Blättermann
afc6aa8126 [l10n] Updated German translation 2011-07-13 20:25:15 +02:00
Mario Blättermann
e47246927f [l10n] Updated German translation 2011-07-13 20:14:27 +02:00
Chun-wei Fan
8b8070e4b7 Update VS 2010 property sheet
The output folder of the .def files needs to be updated as well
2011-07-13 16:05:20 +08:00
Chun-wei Fan
a32be5d7e6 Don't include unistd.h unconditionally 2011-07-13 15:27:28 +08:00
Piotr Drąg
611104b737 Updated Polish translation 2011-07-13 08:46:37 +02:00
Rudolfs Mazurs
754a107f10 Updated Latvian translation. 2011-07-12 21:15:39 +03:00
Rudolfs Mazurs
5a7335cc98 Updated Latvian translation. 2011-07-12 21:04:31 +03:00
Federico Mena Quintero
f1ca0eebc6 Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 11:36:19 -05:00
Kjartan Maraas
afd0726912 Updated Norwegian bokmål translation 2011-07-12 12:45:42 +02:00
Matthias Clasen
08e62bab9a Add a test for atk_get_root() 2011-07-11 23:57:56 -04:00
Matthias Clasen
5556ae9f80 Don't install any gail headers
There is no public API here.
2011-07-11 23:52:22 -04:00
Matthias Clasen
91bfe9f0c0 Make gtk_container_remove work for assistants 2011-07-11 23:12:55 -04:00
Matthias Clasen
bf70fbb696 Drop an unneeded include 2011-07-11 23:12:55 -04:00
Matthias Clasen
86fcb8b66f Add gtk_assistant_remove_page
This was suspiciously missing, considering we have the usual
append/prepend/insert_page methods.
2011-07-11 23:12:55 -04:00
Jonathan Matthew
ad9da2727d GMountOperation::show-processes support for OpenBSD using kvm(3) 2011-07-12 07:56:01 +10:00
Benjamin Otte
375eb8ebce tests: Add a test for menus 2011-07-11 03:10:04 +02:00
Benjamin Otte
17d5afcae2 a11y: Only advertise action if menuitems are selectable
There's no "click" action for separatormenuitems, for example.
2011-07-11 03:08:32 +02:00
Benjamin Otte
a82cbf29a2 a11y: Don't advertise ROLE_MENU in submenuitems
We use submenuitems for all menuitems now. So they shouldn't be all
advertised as menus. For the ones that do have submenus, we still
advertise ROLE_MENU per the last patch.
2011-07-11 02:51:43 +02:00
Benjamin Otte
8f9493ddf2 a11y: Make menuitem accessible return ROLE_MENU when it has a submenu
Otherwise keep using the role set via atk_object_set_role().
2011-07-11 02:51:43 +02:00
Fran Dieguez
d55728c941 Updated Galician translations 2011-07-11 00:12:43 +02:00
Daniel Mustieles
b81826fc7e Updated Spanish translation 2011-07-10 21:05:37 +02:00
Daniel Mustieles
207c485856 Updated Spanish translation 2011-07-10 21:05:06 +02:00
Piotr Drąg
6c6dab9d63 Updated POTFILES.in 2011-07-10 14:44:49 +02:00
Daniel Mustieles
9586305cc4 Updated Spanish translation 2011-07-10 10:55:50 +02:00
Matthias Clasen
07380c1e64 Make all of a11y/ compile with -Wshadow 2011-07-10 00:24:26 -04:00
Matthias Clasen
634e95eba1 Avoid more shadowing warnings 2011-07-10 00:20:17 -04:00
Matthias Clasen
88312319c4 Avoid more compiler warnings
Turns out link is a shadow-happy name, too.
2011-07-10 00:16:53 -04:00
Matthias Clasen
1803e1b57c Avoid compiler warnings
The text variable in gtk_label_accessible_get_selection was
shadowing a parameter of the same name.
2011-07-10 00:10:54 -04:00
Matthias Clasen
9f58645eca Avoid compiler warnings
The obj variable in gtk_notebook_accessible_notify_gtk was shadowing
the parameter of the same name.
2011-07-10 00:10:20 -04:00
Matthias Clasen
a20c7ed214 Avoid unnecessary includes
Including string.h makes the compiler complain about parameters
and variables called index, which is not nice.
2011-07-10 00:10:15 -04:00
Matthias Clasen
ddfa756ac7 Convert GailCellParent to GtkCellAccessibleParent 2011-07-09 23:57:16 -04:00
Matthias Clasen
4e5629bed1 Convert GailTextCell to GtkTextCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
7ddf0dff8f Convert GailImageCell to GtkImageCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
920c1c4c83 Convert GailRendererCell to GtkRendererCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
3688c1a2d3 Convert GailBooleanCell to GtkBooleanCellAccessible
Including assorted cleanups and _-prefixing of exported API.
2011-07-09 23:57:16 -04:00
Matthias Clasen
1da67a2298 Convert GailContainerCell to GtkContainerCellAccessible
Including assorted cleanups and _-prefixing of exported API.
2011-07-09 23:57:16 -04:00
Matthias Clasen
07461459d4 Convert GailCell to GtkCellAccessible
Including _-prefixing the API to reduce unwanted exports.
2011-07-09 23:57:16 -04:00
Matthew Barnes
4d17ff973e GtkAssistant doesn't notice destroyed pages
Listen for GtkContainer::remove signals from the internal notebook.

https://bugzilla.gnome.org/show_bug.cgi?id=653705
2011-07-09 17:56:03 -04:00
Matthias Clasen
3846a59bab Drop a few more unwanted exports
Remaining now are just cell accessibles.
2011-07-09 16:43:39 -04:00
Matthias Clasen
d98622b2ea Reduce the number of unwanted exports
_-prefix most of the get_type functions in a11y/.
There are still some more symbols left.
2011-07-09 16:32:40 -04:00
Matthias Clasen
671565245e Another forgotten static 2011-07-09 16:04:45 -04:00
Matthias Clasen
88537fb4cc Another forgotten static 2011-07-09 16:04:13 -04:00
Matthias Clasen
dc8d64d6f2 Add a forgotten static 2011-07-09 15:33:28 -04:00
Matthias Clasen
2aeb7042d0 Drop the fake GailUtil subclass
Since it is not a subclass at all. Instead, just have a function
that overrides the vfuncs in AtkUtilClass.
2011-07-09 15:33:28 -04:00
Benjamin Otte
ccaa0af7d0 filechooser: Fix set-but-not-used warning from gcc 2011-07-09 21:24:41 +02:00
Benjamin Otte
05eb4113d9 a11y: Fix warnings when removing widgets that don't have accessibles
The remove handler would not check that removed widgets do indeed have
an accessible associated with them and would happily run all the removal
code with a NULL object. Not good.
2011-07-09 21:24:09 +02:00
Ignacio Casal Quinteiro
06b1362999 gtkaccelmap: the data gtk_accel_map_foreach needs to be annotated as allow-none 2011-07-09 12:54:23 +02:00
Matthias Clasen
a71b892c97 Add a test for AtkUtil functions
This test revealed the horrors commented on in the previous
commit.
2011-07-08 23:21:53 -04:00
Matthias Clasen
182b6f7a3c This is more horrible than I had realized
Due to tragic misunderstandings at the birth of ATK, AtkUtil
can't actually be properly derived. Instead, each implementation
has to poke its vfuncs directly into the AtkUtilClass struct.

So painful to have shipped this stuff for 10 years...
2011-07-08 23:20:06 -04:00
Matthias Clasen
d7ded58f51 Clean up gailutil.c a bit 2011-07-08 23:05:51 -04:00
Matthias Clasen
4c76d9fe31 Separate GailUtil and GailMisc
Not sure how these ended up as siamese twins in the same
source file. Of course, separating them doesn't make them
any more beautiful.
2011-07-08 22:52:03 -04:00
Matthias Clasen
56fb725a7e Convert GailToplevel to GtkToplevelAccessible 2011-07-08 22:39:00 -04:00
Matthias Clasen
9979e2a443 Drop remaining uses of gail_misc api
Fold them into their last remaining user, in gailtextcell.c
2011-07-08 22:03:13 -04:00
Matthias Clasen
64d3314a64 Drop now unused gail_misc API 2011-07-08 20:12:45 -04:00
Matthias Clasen
db1eeb0651 Drop gailtextutil from gtk/a11y
The last user was GailTextCell, and that can use gtk_pango
api instead.
2011-07-08 18:41:01 -04:00
Matthias Clasen
a7190d11c2 No longer need to strip the decorations when generating gtk.def, either 2011-07-08 18:41:01 -04:00
Matthias Clasen
2cdac4704c gtk.symbols: remove remaining G_GNUC_ decorations
These are no longer used for anything
2011-07-08 18:41:01 -04:00
Juan Pablo Ugarte
704dd8327f Fixed bug #654125 "gdkoffscreenwindow set any impl handlers to null but adhoc gdk_window_set_* do not cope" 2011-07-08 19:27:00 -03:00
Matthias Clasen
77db52ac9a We're no longer a module
And we don't support not loading the module anymore, either.
So take out the code that looks at environment variables for
that purpose, and don't print a misleading message about
module loading.
2011-07-08 16:37:07 -04:00
Matthias Clasen
fabc5a9117 gail_misc_add_attribute no longer used outside gailmisc.c
This reduces the number of unwanted exported gail symbols
from 90 to 89. Still some way to go...
2011-07-08 16:31:48 -04:00
Federico Mena Quintero
b80fb88aff Merge bgo593793-filechooser-recent-folders-master branch.
The file chooser now starts up in recent-files mode, or in recent-folders mode,
if the caller didn't set a current_folder on it.  Setting a current_folder is
now discouraged, so that the file chooser can have a chance of presenting
useful locations to the user.

See https://live.gnome.org/DocumentCentricGnome/Help%20the%20user%20choose%20a%20place%20to%20put%20a%20new%20file
for the rationale behind these changes.
2011-07-08 11:43:32 -05:00
Cosimo Cecchi
1fdfb18c37 iconview: make it possible for selected cells to render a border
Call gtk_render_frame() after gtk_render_background() there.

https://bugzilla.gnome.org/show_bug.cgi?id=654179
2011-07-08 11:36:04 -04:00
Johan Dahlin
a47528fd59 Clarify that gtk_builder_connect_signals can only be connected once 2011-07-07 15:41:29 -03:00
Abduxukur Abdurixit
7d1bad41f3 Added UG translation 2011-07-07 17:06:54 +02:00
Javier Jardón
c344880b4e tests/a11y/Makefile.am: Use AM_CPPFLAGS instead deprecated INCLUDES 2011-07-07 13:50:01 +01:00
Javier Jardón
b3c3a7c35d Revert "asd"
Not appropriate commit message

This reverts commit f02812c0d6.
2011-07-07 13:47:59 +01:00
Javier Jardón
245c177e4b Revert "docs: fix building for libgail-util"
libgail-util is going away

This reverts commit 13db79db63.
2011-07-07 13:47:41 +01:00
Rico Tzschichholz
13db79db63 docs: fix building for libgail-util 2011-07-07 11:20:02 +01:00
Javier Jardón
f02812c0d6 asd 2011-07-07 11:20:02 +01:00
Matthias Clasen
a38d119f16 Drop gail_misc_buffer_get_run_attributes
Instead fold the code into the sole caller and get rid
of gailmisc usage in the text view accessible altogether.
2011-07-06 23:19:40 -04:00
Matthias Clasen
d1b0ae62a5 Drop an unneeded include
One step close to dropping gailmisc.
2011-07-06 23:18:52 -04:00
Benjamin Otte
a24ec1583b gtkpango: Count letters properly
The code was using the wrong variable and that then caused assertions
2011-07-07 03:37:52 +02:00
Benjamin Otte
15ab20fdfb a11y: Make submenu code handle non-existing submenus
As we're going to merge the two accessibles for submenus, we need to
make sure the code that insisted on submenus can handle the case where
no submenu exists.
2011-07-06 20:55:11 +02:00
Benjamin Otte
d5dad3422b a11y: Fix leaking of state sets 2011-07-06 20:48:35 +02:00
Benjamin Otte
7b2f8949dd styleproperty: Fix leak 2011-07-06 20:41:31 +02:00
Benjamin Otte
552113131c menuitems: Use submenuitem accessible exclusively
Submenus can come and go, so we cannot use an accessible that doesn't
allow for that.

Also, this fixes a rather large refleak.
2011-07-06 18:47:00 +02:00
Benjamin Otte
70b8f8f7ef assistant: Use gtk_widget_class_set_accessible_type()
Less code and no leaks!
2011-07-06 18:47:00 +02:00
Javier Jardón
32e00d1f43 Use AM_CPPFLAGS instead the obsolete INCLUDES 2011-07-06 15:58:32 +01:00
Benjamin Otte
30930e643f a11y: Redo TextView cursor/selection signal handling
As part of the removal of idles, redo how we emit signals on the
accessible. Should work as good or better than before, but with a lot
less code.
2011-07-06 16:50:09 +02:00
Benjamin Otte
87c33fa21a tests: Update text test for textview
1) Allow inserting text to move the cursor to after the inserted text
2) Implement selecting text for GtkTextView. Also assert if it's an
   unsupported widget type.
3) Select an inside part of the widget, not the end.
2011-07-06 16:50:09 +02:00
Benjamin Otte
768b192ddb modules: Blacklist gail
And print a message when somebody has it enabled that indicates that
something is wrong but doesn't sound too scary.
2011-07-06 16:50:09 +02:00
Benjamin Otte
4abbe4cb52 a11y: Use the canonical way to connect to signals
No functional changes at all, the generated code should in fact be
identical.
2011-07-06 16:40:05 +02:00
Benjamin Otte
eeae39d359 a11y: Simplify code 2011-07-06 16:40:05 +02:00
Benjamin Otte
659d24c9ab a11y: Remove idle handler for switch action handling 2011-07-06 16:40:04 +02:00
Benjamin Otte
8efc350127 a11y: Remove set_description handling from GtkSwitch
The function is unused in AT-SPI.
2011-07-06 16:40:04 +02:00
Benjamin Otte
ccbe6c816b range: Do not use idles to trigger actions 2011-07-06 16:40:04 +02:00
Benjamin Otte
2870b58638 a11y: Don't use an idle handler for entry actions 2011-07-06 16:40:04 +02:00
Rico Tzschichholz
2c51d76c1f Fix two typos in Makefiles 2011-07-06 16:33:55 +02:00
Javier Jardon
8a84056d0a gtktreeviewaccessible: free the string in the correct position 2011-07-06 14:36:29 +01:00
Javier Jardon
ad0c0b8eb3 Do not initialize the priv pointer before check type 2011-07-06 14:25:06 +01:00
Javier Jardon
f90f2858c8 Fix few typos in the migration docs
gdk_pixbuf_get_from_surface() don't take 8 args but 5
2011-07-06 11:59:56 +01:00
Matthias Clasen
ba0bc468d6 Fix the build
I didn't pay enough attention when merging, it seems.
2011-07-05 16:57:46 -04:00
Matthias Clasen
57874f7ece Update assistant tests 2011-07-05 16:10:26 -04:00
Matthias Clasen
521807f33d Drop the factory from the icon view accessible 2011-07-05 16:10:26 -04:00
Matthias Clasen
9f88efd2bb Drop the factory from GtkAssistantAccessible 2011-07-05 16:10:26 -04:00
Matthias Clasen
511eb79331 Update expected test output
The recent change to notebook page parent handling is showing
up in the output of the notebook.ui test.
2011-07-05 16:10:26 -04:00
Matthias Clasen
38f34f4f6f GtkSeparatorMenuItem: Drop the accessible factory 2011-07-05 16:10:26 -04:00
Matthias Clasen
2980659ab1 Add api for setting the layer
Add api for setting the component layer, instead of open-coding
the object data key, and use it.
2011-07-05 16:10:26 -04:00
Matthias Clasen
e1463ab57c Silence compiler warnings 2011-07-05 16:10:26 -04:00
Matthias Clasen
5d90ca35c2 Set accessible parents of notebook children
Explicitly set the notebook page object as the accessible parent
of the page, otherwise, AtkObject follows the widget parents chain
and makes the notebook accessible the parent.
2011-07-05 16:10:26 -04:00
Matthias Clasen
3fb86e1c6f Verify that notify::accessible parent is emitted 2011-07-05 16:10:26 -04:00
Matthias Clasen
b83122dc05 Drop use of factories for cell accessibles 2011-07-05 16:10:26 -04:00
Matthias Clasen
5a10e9b0b4 Add an initial focus handling test
This is failing currently, since focus handling is all
in defer-to-idle country.
2011-07-05 16:10:25 -04:00
Matthias Clasen
5559242ea9 Change the toolkit name in GailUtil to 'gtk', too 2011-07-05 16:10:25 -04:00
Matthias Clasen
b61043dcfa Change the toolkit attribute from gail to gtk
Update test results to match.
2011-07-05 16:10:25 -04:00
Matthias Clasen
eb81d45024 Move GtkSwitchAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
e6251f0248 Move GtkSpinnerAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
f839379d01 Drop the atk_component_add/remove_focus_handler implementation
Instead, just connect to focus-event directly.
2011-07-05 16:09:57 -04:00
Matthias Clasen
775ccf39e7 Initial conversion of GailWidget to GtkWidgetAccessible 2011-07-05 16:09:57 -04:00
Matthias Clasen
89e57c6978 Convert GailContainer to GtkContainerAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
64eec8a97a Convert GailMenuShell to GtkMenuShellAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
0e2f3271b9 Convert GailMenu to GtkMenuAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
ed08baccd9 Convert GailWindow to GtkWindowAccessible
While doing this, drop the get_mdi_zorder implementation
that really should come from the window manager side. Dropping
this saves some 500 lines.
2011-07-05 16:08:57 -04:00
Matthias Clasen
8432ea3574 Convert GailButton to GtkButtonAccessible
This drops the AtkText implementation, and also strips handling
of children out. Instead of listening for enter/leave/press/released,
just listen for state changes on the widget.
2011-07-05 16:08:57 -04:00
Matthias Clasen
a3113386df Drop unneeded includes of gdkkeysyms.h
Just a minor cleanup; gtk.h includes this header in GTK+ 3.
2011-07-05 16:08:57 -04:00
Matthias Clasen
254538bf77 Drop unneeded includes gailtextutil.h
Almost done with getting rid of GailTextUtil.
2011-07-05 16:08:57 -04:00
Matthias Clasen
3459dc480a Convert Gail(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
209a2d1ba0 Convert GailCheck(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
64b9599866 Convert GailRadio(Sub)MenuItem to GtkAccessible classes
The way submenus are handled here isn't really right, since
they can come and go at runtime, but I've left it like this
for now. A side-effect is that we can't use
gtk_widget_class_set_accessible_type here, but have to
override get_accessible.
2011-07-05 16:08:57 -04:00
Matthias Clasen
2d655446ba Add a test for menus 2011-07-05 16:08:57 -04:00
Matthias Clasen
896769df69 Convert GailExpander to GtkExpanderAccessible
At the same time, drop the AtkText implementation.
Also, reintroduce a GtkBoxAccessible, since the previous
way of setting the role in get_accessible was affecting
GtkBox subclasses negatively.

Adjust expected test output to match.
2011-07-05 16:08:57 -04:00
Matthias Clasen
6087131ab6 Add a placeholder-text test
Contributed by Joanmarie Diggs.
2011-07-05 16:08:56 -04:00
Matthias Clasen
ff5eb4adfe Convert GailStatusbar to GtkStatusbarAccessible
And drop the AtkText implementation at the same time.
Update test results to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
9a0fd43df2 Convert GailNotebookPage to GtkNotebookPageAccessible
At the same time, drop the AtkText implementation, and simplify
accordingly. Test output has been updated to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
8bb24a936f Don't overwrite roles
Otherwise, every GtkBox subclass will have to override
get_accessible just to keep their roles.
2011-07-05 16:08:56 -04:00
Matthias Clasen
0bbe09a28e Avoid excessive child_changed::added emissions
We are listening to page-added and emit child_changed::added
in response to that, so don't let the add_gtk handler add
extraneous extra signal emissions. This fixes the child-handling
test for GtkNotebook.
2011-07-05 16:08:56 -04:00
Matthias Clasen
318192b937 Convert GailNotebook to GtkNotebookAccessible 2011-07-05 16:08:56 -04:00
Matthias Clasen
6012f096c9 Convert GailTreeView to GtkTreeViewAccessible
Mostly code rearrangement and cleanup, but also a memory
leak fix in gtk_tree_view_accessible_get_column_description().
2011-07-05 16:08:56 -04:00
Matthias Clasen
b0915a69de Add more children tests 2011-07-05 16:08:56 -04:00
Matthias Clasen
7371e3f7cf Convert GailComboBox to GtkComboBoxAccessible 2011-07-05 16:08:56 -04:00
Benjamin Otte
2f744db943 tests: Don't print selection count
Selection count is tested via assertions and can be inferred from
looking at the number of selected children.

And I'd like to reduce the output of the tests. We're outputting way too
much anyway.
2011-07-05 16:08:56 -04:00
Benjamin Otte
e0324064bc tests: Make accessibility-dump output selected children by name
And put one child in every row to make diffing easier.
2011-07-05 16:08:56 -04:00
Benjamin Otte
4ca42d9785 tests: Fix compiler warnings 2011-07-05 16:08:56 -04:00
Benjamin Otte
3ea8cfc02f tests: Add assert to accessibility-dump
Check that number of selected children == number of children that
actually are selected. If that's not the case, assert, to avoid people
being careless about adding tests.
2011-07-05 16:08:56 -04:00
Matthias Clasen
e02a94080a Silence compiler warnings 2011-07-05 16:08:56 -04:00
Benjamin Otte
5d57716ef8 a11y: Make notebookpage emit child-added signal sync
Don't use an idle handler
2011-07-05 16:08:55 -04:00
Benjamin Otte
f59cb0e05d a11y: Keep the gail notebook in the notebook page
We used to keep the GtkNotebook, but that causes issues at creation time
of the GailNotebook, when the GtkNotebook does not yet have an
accessible set and so it can't be queried.
2011-07-05 16:08:55 -04:00
Benjamin Otte
790d8e324b a11y: Redo notebook page management
Previously, the code tried to track the indexes of the pages and keep
them up to date in a list and tracking the index in the
GtkNotebookPage. Now, we store the widget we are tracking in the
GailNotebookPage and keep a hash table of widget=>GailNotebookPage in the
GailNotebook. This frees us from the burden of tracking page changes.
2011-07-05 16:08:55 -04:00
Benjamin Otte
9cf9abd5b0 a11y: Redo notebok page lifetime management
It is now done by the GailNotebook. Previously it tried to do it itself.
Also, we now use GtkNotebook::page-removed to track the removal, as
opposed to child::parent-set.
2011-07-05 16:08:55 -04:00
Benjamin Otte
fdc40111f8 a11y: Remove idle handler from menuitem action 2011-07-05 16:08:55 -04:00
Benjamin Otte
3e49e2387c a11y: Remove idle handler for expander actions 2011-07-05 16:08:55 -04:00
Benjamin Otte
55dec3a798 a11y: Remove idle handler for combo box action 2011-07-05 16:08:55 -04:00
Benjamin Otte
05d7260e19 a11y: Remove idle handler from GailButton 2011-07-05 16:08:55 -04:00
Benjamin Otte
7c00940470 a11y: Use gtk_button_clicked() to click a button.
Don't fiddle with events.
2011-07-05 16:08:55 -04:00
Benjamin Otte
6b02119bb1 a11y: Remove "press" and "release" actions from buttons
http://mail.gnome.org/archives/gnome-accessibility-devel/2011-June/msg00020.html
has some details about this.
The main problem is that the internal button states get fiddled with and
that is not a good idea to do from an AT.

Also update tests to reflect that.
2011-07-05 16:08:55 -04:00
Benjamin Otte
8e28e22bcf a11y: Do actions on cells immediately
No idle handlers, please.
2011-07-05 16:08:55 -04:00
Benjamin Otte
52c0933bc0 a11y: Use simple code for window name change tracking
Remove idle handler and omit checking if the name really was changed.
ATs will either have to live with the name not really changoing or we
should check in GtkWindow.
2011-07-05 16:08:55 -04:00
Matthias Clasen
ac10ac6450 Add more child-handling related tests 2011-07-05 16:08:55 -04:00
Matthias Clasen
0b952dcc85 Emit the same changed_children details as everybody else
...if any of this was documented...
2011-07-05 16:08:55 -04:00
Matthias Clasen
48c3d8e1cf Drop gail-private-macros.h
Nothing like obfuscating an early return behind a macro.
2011-07-05 16:08:55 -04:00
Matthias Clasen
e4dc06b7d5 Add a test for scrolled window child count 2011-07-05 16:08:54 -04:00
Matthias Clasen
53c90cebb2 Convert GailScrolledWindow to GtkScrolledWindowAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
fecefc6cdf Drop use of gail_return_if_fail 2011-07-05 16:08:54 -04:00
Matthias Clasen
3ab623e391 Fix a test crash 2011-07-05 16:08:54 -04:00
Matthias Clasen
f052710b85 Remove old files 2011-07-05 16:08:54 -04:00
Matthias Clasen
13e8bace97 Convert GailScaleButton to GtkScaleButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
583a5e4ea4 Drop another unused include 2011-07-05 16:08:54 -04:00
Matthias Clasen
a8b67d2064 Convert GailToggleButton to GtkToggleButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
f54cc70238 Nuke GailAdjustment
This was a fairly trivial wrapper around GtkAdjustment with
no particularly important reason for existence.
2011-07-05 16:08:54 -04:00
Matthias Clasen
1ff2076cdd GtkAdjustment: add an auxiliary function
This is going to be used in AtkValue implementations.
2011-07-05 16:08:54 -04:00
Matthias Clasen
98918137a8 Drop an unneeded include 2011-07-05 16:08:54 -04:00
Matthias Clasen
e2847d9637 Convert GailRadioButton to GtkRadioButtonAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
369b4a605e GtkLabelAccessible: drop an unneeded include
We eventually want to get rid of gailmisc, so this is progress.
2011-07-05 16:08:54 -04:00
Matthias Clasen
c750139c85 Convert GailPaned to GtkPanedAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
7f58482d4e Convert GailRange to GtkRangeAccessible 2011-07-05 16:08:54 -04:00
Matthias Clasen
5f6ed88b7a GtkTextViewAccessible: get rid of GailTextUtil usage
Instead, use the newly added GtkTextBuffer functions.
2011-07-05 16:08:53 -04:00
Matthias Clasen
aa291863bb GtkTextBuffer: Add accessible api
These functions match closely to the AtkText interface;
they will be used in the GtkTextView accessible implementation.
Keep them private for now.
2011-07-05 16:08:53 -04:00
Matthias Clasen
d15319b717 Convert GailLinkButton to GtkLinkButtonAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
2152424541 Convert GailImage to GtkImageAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
a166051b60 Convert GailProgressBar to GtkProgressBarAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
87195bc3cd Convert GailScrollbar to GtkScrollbarAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
eebf34dd5f Update test results for recent changes 2011-07-05 16:08:53 -04:00
Matthias Clasen
a129392bb4 Convert GailFrame to GtkFrameAccessible 2011-07-05 16:08:53 -04:00
Matthias Clasen
1ef996ca3c Remove GailBox
It was only setting a role, and we can do that just as well
in get_accessible().
2011-07-05 16:08:53 -04:00
Matthias Clasen
6aedf8f066 Remove GailCalendar
This was just setting a role, which we can do just as well
in get_accessible().
2011-07-05 16:08:10 -04:00
Matthias Clasen
103b97301d Adapt to expected output to recent changes 2011-07-05 16:08:10 -04:00
Matthias Clasen
4a7a667f5f Drop GailSeparator
Instead, just set a suitable role on a GtkWidgetAccessible.
2011-07-05 16:08:10 -04:00
Matthias Clasen
ab8d94d195 Convert GailArrow to GtkArrowAccessible 2011-07-05 16:08:10 -04:00
Matthias Clasen
5fb86cf7da Convert GailScale to GtkScaleAccessible 2011-07-05 16:08:10 -04:00
Benjamin Otte
3e6fc7417d tests: Update range tests for slider value in description 2011-07-05 16:08:10 -04:00
Benjamin Otte
a2dbfaf43d stylecontext: #include <math.h> when using math functions 2011-07-05 16:08:10 -04:00
Benjamin Otte
64d4b76384 a11y: Make it compile again
Overriding CFLAGS is a bad idea. Use INCLUDES instead.
2011-07-05 16:08:10 -04:00
Benjamin Otte
787170c4cd a11y: Update tests after removing AtkText from GailExpander 2011-07-05 16:08:10 -04:00
Benjamin Otte
fea49ed621 a11y: Update tests after removing AtkText from GailRange 2011-07-05 16:08:10 -04:00
Matthias Clasen
ce793bd3ee GtkTextviewAccessible: some initial cleanup and code rearrangement 2011-07-05 16:08:10 -04:00
Matthias Clasen
42cc6ad6c6 GtkEntryAccessible: Slight simplification of attribute handling
Make this use the same convenience function as is used elsewhwere.
2011-07-05 16:08:09 -04:00
Matthias Clasen
786ade734c GtkLabelAccessible: avoid some pointless variables 2011-07-05 16:08:09 -04:00
Matthias Clasen
3f9d39ffce Initial move GailTextView -> GtkTextViewAccessible
This just does the renaming, and drops the factory.
2011-07-05 16:08:09 -04:00
Benjamin Otte
e81657cba8 tests: Add an a11y test for scales 2011-07-05 16:08:09 -04:00
Benjamin Otte
a5b08ea931 gail: Remove AtkText implementation from GailScale
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
e510d5beba cellareacontext: Don't ever return -1 for preferred sized
People don't check for -1 when computing size requests. Document this
new behavior.
2011-07-05 16:08:09 -04:00
Benjamin Otte
447fae8d4b Revert 'Insert an LRM, to prevent -20 to come out as 20- in RTL'
Correct text direction for printing of doubles should be (and is) done
by printf() and friend and not enforced by GtkScale.

This reverts commit 5eb2aac947

https://bugzilla.gnome.org/show_bug.cgi?id=322571
2011-07-05 16:08:09 -04:00
Benjamin Otte
d0f0d4c77f a11y: Export the printed value of a scale as the description. 2011-07-05 16:08:09 -04:00
Benjamin Otte
bbda677728 a11y: Remove AtkText implementation from GailMenuitem
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
0ca420918b a11y: Remove AtkText implementation from GailExpander
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Matthias Clasen
abe6c28bc2 Add some texts for text selection signals
Test that we do emit ::text_caret_moved and ::text_selection_changed
as expected.
2011-07-05 16:08:09 -04:00
Matthias Clasen
2358be732d Minor optimization
No need to get the cursor position twice in a row.
2011-07-05 16:08:09 -04:00
Matthias Clasen
262e59869f GtkLabelAccessible: some selection handling fixes
Don't move the cursor to 0 when removing the selection,
and don't overlook growing selections.
2011-07-05 16:08:09 -04:00
Matthias Clasen
3e84cc9b17 GtkLabel: optimize away some ::notify emissions 2011-07-05 16:08:09 -04:00
Matthias Clasen
5d38185448 Skip line-related tests for GtkEntry
GtkEntry sets single-paragraph mode on its pango layout,
so the results for line-related navigation don't match.
2011-07-05 16:08:09 -04:00
Matthias Clasen
2f758b9b50 GtkEntryAccessible: shorten some function names
Just cosmetics
2011-07-05 16:08:09 -04:00
Matthias Clasen
ca166c9a1e Remove a bit of dead code 2011-07-05 16:08:08 -04:00
Matthias Clasen
442ec1b624 GtkEntryAccessible: Clean up the AtkAction implementation a bit
No functional changes.
2011-07-05 16:08:08 -04:00
Matthias Clasen
99a54565a3 Purge traces of insert idle handler 2011-07-05 16:08:08 -04:00
Matthias Clasen
212241ffda GtkEntryAccessible: Rework text_changed handling
No more signal emission from an idle.
2011-07-05 16:08:08 -04:00
Matthias Clasen
a1cf2315a0 Fix up signal ordering issues in GtkEntry
Ensure that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
Matthias Clasen
5398a160ad Add a test for entry signals
These tests check that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
Matthias Clasen
7872c2c19e GtkEntryAccessible: port from GailTextUtil to GtkPango
Also clean up and rearrange the code.
As a side-effect, the no-longer-existing stipple attributes
are dropped.  Update test results to match.
2011-07-05 16:08:08 -04:00
Matthias Clasen
b83ee1e5f9 Allow use of private api in a11y/ 2011-07-05 16:08:08 -04:00
Matthias Clasen
52a2e1e628 Trivial whitespace fix 2011-07-05 16:08:08 -04:00
Matthias Clasen
6c7e858286 GtkSpinButtonAccessible: Coding style cleanups
And some code rearrangement.
2011-07-05 16:08:08 -04:00
Matthias Clasen
918514d51d First cut at GailEntry -> GtkEntryAccessible
Replace the factory for entry and spin button with
gtk_widget_class_set_accessible_type() calls, and move then
to the GtkAccessible namespace.
2011-07-05 16:08:08 -04:00
Matthias Clasen
c2d1e3eeb0 Avoid warnings in clipboard code
The a11y selection tests poke the selection on unrealized
labels. Don't spew warnings in this case.
2011-07-05 16:08:08 -04:00
Matthias Clasen
ca5db10bda Add some tests for selection handling 2011-07-05 16:08:08 -04:00
Matthias Clasen
81c809e27a Add some more basic tests 2011-07-05 16:08:08 -04:00
Matthias Clasen
3744742804 Remove debug spew 2011-07-05 16:08:07 -04:00
Matthias Clasen
f0715f434e Expand the insert/delete text
GtkLabel passes this now.
2011-07-05 16:08:07 -04:00
Matthias Clasen
0437677b12 Update test results
The label accessible port dropped the no-longer-existing
stipple attributes; so update the expected test results to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
c74ccbb86e Port GtkLabelAccessible from GailTextUtil to GtkPango api
Unfortunately, we still keep a copy of the text around, for
::insert/::delete signals; those emissions need to be moved to
GtkLabel itself.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1164ceb4fc GtkStyleContext: add some aux. a11y api
This function translates the fg/bg color into atk attributes.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1f2b8a6545 Add some aux. pango api to help AtkText implementations
These functions are implementations of the AtkText api on top
of a PangoLayout, and are intended to replace GailTextUtil.

Since gtkpango.h is a private header, also remove the individual
inclusion prohibition.
2011-07-05 16:08:07 -04:00
Matthias Clasen
53535f03cf Replace the boundary test
The new test is much smaller, and the results have been carefully
looked at; GtkLabel gets it right, the others don't.

Also, temporarily include some code that dumps out useful information.
2011-07-05 16:08:07 -04:00
Matthias Clasen
db2da1de42 Sort text attributes alphabetically in dumps 2011-07-05 16:08:07 -04:00
Matthias Clasen
889b2714d5 GtkLabel: factor out two getters
Make the get_property switch look a little nicer.
We export these functions privately for use in the label
accessible implementation later on.
2011-07-05 16:08:07 -04:00
Benjamin Otte
504c0fdc27 messagedialog: Initialize style values in init()
Fixes underallocation warnings
2011-07-05 16:08:07 -04:00
Benjamin Otte
5ec01aac61 a11y: Remove setters for column description/header 2011-07-05 16:08:07 -04:00
Benjamin Otte
44e4b94acb a11y: Make treeview header and caption no longer settable
It's not exposed in AT-SPI so we don't need it.
2011-07-05 16:08:07 -04:00
Benjamin Otte
56ebb3dd0e a11y: Remove setters for row description/header
AT-SPI doesn't expose them, so there's no need to keep them.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1b8c38f6e1 GtkHSV: set a suitable role for the accessible
The consensus of the accessibility team was that 'color chooser'
fits best for this. Update tests to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
3edebfb81c GtkSpinner: set a suitable role for the accessible
The consensus of the accessibility team was that this is
an animation. Update tests to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
828d70c6d7 GtkLabelAccessible: remove redundant check
We always have the textutil now, so remove some NULL checks.
Also, never say 'State is defunct' again...
2011-07-05 16:08:06 -04:00
Matthias Clasen
dddf587aec GtkLabel: freeze property notification where appropriate
When setting properties that require recalculating the label
text, freeze notification until the label is properly updated.
This fixes bug 126797.
2011-07-05 16:08:06 -04:00
Matthias Clasen
441bf26a2e GtkLabelAccessible: remove broken workarounds
This removes a horrible workaround for bug 126797. To prevent
picking up accidental markup in label texts, the label accessible
is listening for window creation and mapping and defers initializing
its text until then.
2011-07-05 16:08:06 -04:00
Matthias Clasen
91960a2132 Add a testcase for a very old bug
This tests a problem that was first noticed in 2003, in
bug 126797: The text of a label accessible is not properly
updated when the label switches from !use-markup to use-markup.
2011-07-05 16:08:06 -04:00
Matthias Clasen
437aaccc19 Test lots of boring string functions
Needless to say, these tests still fail.
2011-07-05 16:08:06 -04:00
Matthias Clasen
ec7c50ef00 Add some AtkText tests
These unfortunately all fail really miserably, currently.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a381fd288c GailLabel -> GtkLabelAccessible
A first experimental conversion from the gail namespace to gtkaccessible.
At the same time, use gtk_widget_class_set_accessible_type() to register
the accessible type for GtkLabel.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a0790f1000 Remove gail_widget_new()
The function was unused and unnecessary.
2011-07-05 16:08:06 -04:00
Matthias Clasen
e80e585639 Forgotten file 2011-07-05 16:08:06 -04:00
Matthias Clasen
743cb1fc96 spinbutton testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
2610a43e1c iconview testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
55d8a684c7 Paned testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
9d4ce36199 Statusbar testcases 2011-07-05 16:08:05 -04:00
Matthias Clasen
fb91fd7e3c tree-performance: test with tree stores too
This duplicates the current test with a GtkTreeStore instead
of a GtkListStore.
2011-07-05 16:08:05 -04:00
Matthias Clasen
2deeab4c4f GailTreeView: optimize a bit
Avoid many unnecessary list iterations by using a hash table
to store cell infos, and caching row and column counts. Based
on patches by William Jon McCann, bug 554171.

tree-performance results:

before:  (MINPERF:large tree test with a11y: 9.18531sec)
after:   (MINPERF:large tree test with a11y: 0.923463sec)

for comparison, without accessibility:
(MINPERF:large tree test: 0.016179sec)
2011-07-05 16:08:05 -04:00
Matthias Clasen
23bc606c79 a11y: add a treeview performance test
This test creates a treeview with a few columns and a liststore,
and then populates it with a 1000 rows.
2011-07-05 16:08:05 -04:00
Matthias Clasen
430957b036 Add a calendar testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
8aced27009 Add an infobar testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
f2d6439bc7 Add a GtkProgressBar testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
5d84495b77 Add a GtkSpinner testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
96d5ea96fd Add a lockbutton testcase 2011-07-05 16:08:05 -04:00
Matthias Clasen
3cc413e84f Add a testcase for all the pickers 2011-07-05 16:08:05 -04:00
Matthias Clasen
4573659deb Don't pass NULL to functions expecing a real string
...and when you do pass them a real string, don't leak it.
2011-07-05 16:08:04 -04:00
Benjamin Otte
a8f663ce5e Revert "Add a testcase with a print dialog"
THe testcase depends on the installed printers, so is nondeterministic.

This reverts commit 5bf14cc7485fe015ad15747454e877f2fb3dabc5.
2011-07-05 16:08:04 -04:00
Benjamin Otte
a3ca0bf898 Revert "Add a filechooser testcase"
File choosers depend on the files in the current directory and the
settings the user has set for the file chooser, so the output cannot be
deterministic.

This reverts commit f05c9e02c49f857c33e02c3d89483fcccb5df254.
2011-07-05 16:08:04 -04:00
Benjamin Otte
aaa40bdc0a Revert "Add a testcase involving a font selection dialog"
The font chooser depends on the fonts installed on the system, so the
output is nondeterministic.

This reverts commit 08fdc399762c2af07d94e42a1801e691e5d4d6ab.
2011-07-05 16:08:04 -04:00
Benjamin Otte
d346be96c2 tests: Don't emit a message for every unnamed object 2011-07-05 16:08:04 -04:00
Benjamin Otte
4c0814a176 tests: Reset the unnamed counter before a test run
This guarantees that objects are named the same all the time.
2011-07-05 16:08:04 -04:00
Benjamin Otte
521f9e2f15 gail: Add support for action_set_description
As set_description is never called and unsupported by the at-spi, we can
omit implementing it.
This means we can also omit get_description calls in various places, as
they'd just return the default value: NULL.
2011-07-05 16:08:04 -04:00
Benjamin Otte
26a2cfe62a tests: Fix crash due to freeing random pointers 2011-07-05 16:08:04 -04:00
Benjamin Otte
9ddea3f4e1 a11y: Remove hack for old code
This code was supposed to work around a bad interaction between GOK and
Nautilus from 7 years ago.
If it still exists, the GOK developers may complain to the Nautilus
developers.

https://bugzilla.gnome.org/show_bug.cgi?id=137401
2011-07-05 16:08:04 -04:00
Benjamin Otte
a65cb51d49 gail: Remove useless code
The ATK default code does the same thing as these two functions.
2011-07-05 16:08:04 -04:00
Joachim Breitner
317d7a1f54 docs: Remove mention of client messages 2011-07-05 16:08:04 -04:00
Matthias Clasen
b9c0d226c0 Add an assistant testcase 2011-07-05 16:08:04 -04:00
Matthias Clasen
1783b5c85e Add a testcase involving an expander 2011-07-05 16:08:03 -04:00
Matthias Clasen
5a257fe95f Add a testcase with a print dialog 2011-07-05 16:08:03 -04:00
Matthias Clasen
b2e624c50c Add a messagedialog testcase 2011-07-05 16:08:03 -04:00
Matthias Clasen
c950bd540b Add a testcase involving a font selection dialog 2011-07-05 16:08:03 -04:00
Matthias Clasen
4149124b2b Add a testcase with an appchooser dialog 2011-07-05 16:08:03 -04:00
Matthias Clasen
0f2c739473 Add a README for accessibility-dump 2011-07-05 16:08:03 -04:00
Matthias Clasen
4dfc4fbdaf Add an about dialog testcase 2011-07-05 16:08:03 -04:00
Matthias Clasen
f59b9e52d4 Add a color chooser testcase 2011-07-05 16:08:02 -04:00
Matthias Clasen
ac8e00010a Add a scrollbar to the range testcase 2011-07-05 16:08:02 -04:00
Matthias Clasen
dfb8fa9b5a Add a filechooser testcase 2011-07-05 16:08:02 -04:00
Matthias Clasen
56100a017a Remove debug spew
This had crept into the expected output for the buttons
testcase.
2011-07-05 16:08:02 -04:00
Matthias Clasen
ffb6df5f42 GailTreeView: deal with absence of model 2011-07-05 16:08:02 -04:00
Matthias Clasen
7f44184f61 GailImageCell: Deal with absence of pixbufs
...and when there are pixbufs, don't leak them.
2011-07-05 16:08:02 -04:00
Matthias Clasen
0f8823b4a4 Fix dependencies between directories
This ensures that libgtk gets relinked when I touch sources
in gtk/a11y.
2011-07-05 16:08:02 -04:00
Matthias Clasen
5ebbf00f0a Try harder to generate names for accessibles
We are still hitting the 'no name' case in GtkFileChooser for
a GailBox, otherwise.
2011-07-05 16:08:02 -04:00
Matthias Clasen
dbf204b5b9 Handle AtkValue implementations that return integer values
We do this by transforming the returned GValue to a string.
As a side-effect, the formatting for doubles changes, so
adjust expected output to match.
2011-07-05 16:08:01 -04:00
Matthias Clasen
8fdcb60c87 Don't build the libgail-util docs
The doc build for that is currently broken, and libgail-util is
undergoing reconstructive surgery anyway, currently.
Or maybe it'll turn out to be an amputation...
2011-07-05 16:08:01 -04:00
Benjamin Otte
98a11cedf0 tests: omit fg-color and bg-color values from attributes
They depend on the environment, too.
2011-07-05 16:08:01 -04:00
Benjamin Otte
b6bd3ef4f4 tests: Add line breaks when dumping text attributes
This improves diff readability a lot when attributes differ.
2011-07-05 16:08:01 -04:00
Benjamin Otte
4227a63f48 widget: Use g_type_add_class_private()
It turns out that that funciton does indeed exist and my rant was just
outdated. Shame on me.
2011-07-05 16:08:01 -04:00
Benjamin Otte
5449ec0a30 gail: Fix compile warning 2011-07-05 16:08:01 -04:00
Benjamin Otte
fd5ceee925 tests: undefine GTK_DISABLE_DEPRECATED as we include deprecated types 2011-07-05 16:08:01 -04:00
Matthias Clasen
17e219fbce Remove debug spew 2011-07-05 16:08:01 -04:00
Matthias Clasen
054057a640 Fix GtkSwitchAccessible type definition
It turns out that ATK_DEFINE_TYPE_WITH_CODE() is broken; it
tells GType that the class and instance size for the accessible
type are the same as for its parent type. Which is not true
if your instance struct has members such as 'description' here.
This was causing hard-to-track-down memory corruption, since
description and the GtkAccessible private pointer were sharing
the same memory location.
2011-07-05 16:08:00 -04:00
Matthias Clasen
4dfb500732 Add a test involving a tree view 2011-07-05 16:08:00 -04:00
Matthias Clasen
eb60a7ed54 Dump AtkTable properties
Also, make get_name() deal better with GtkAccessibles whose
widgets don't have buildable names.
2011-07-05 16:08:00 -04:00
Matthias Clasen
52aa225713 Dump AtkComponent properties
Note that the spatial aspects of AtkComponent are all dependent
on fonts and other environmental factors, thus we only dump the
little bits outside of that.
2011-07-05 16:08:00 -04:00
Matthias Clasen
570c185935 Make the dumped output a bit more readable
By adding sections for each interface.
2011-07-05 16:08:00 -04:00
Matthias Clasen
04d6c99a71 Add a test involving a text view 2011-07-05 16:08:00 -04:00
Matthias Clasen
901395db67 Dump AtkStreamableContent properties
Also, simplify the format for links slightly.
2011-07-05 16:08:00 -04:00
Matthias Clasen
bdab7cc8ff Fix the expected output for range.ui
GtkScale puts a LRM character at the start of the string.
2011-07-05 16:08:00 -04:00
Matthias Clasen
57fc8f183a Add a test involving links 2011-07-05 16:08:00 -04:00
Matthias Clasen
97ddbb5ff2 Dump AtkHyperLinkImpl properties 2011-07-05 16:07:59 -04:00
Matthias Clasen
0311ffe023 Fix some problems with the GailLinkButton implementation 2011-07-05 16:07:59 -04:00
Matthias Clasen
0740876d0e Add a test involving ranges 2011-07-05 16:07:59 -04:00
Matthias Clasen
2672a3afef Dump AtkValue properties 2011-07-05 16:07:59 -04:00
Matthias Clasen
6641ae85ff Add a test involving a selection 2011-07-05 16:07:59 -04:00
Matthias Clasen
913c5241ae Dump AtkSelection properties
Also make get_name() deal with object that are not GtkAccessible,
but implement AtkText. An example of this is GailNotebookPage.
2011-07-05 16:07:59 -04:00
Matthias Clasen
a6d741b6a4 Dump AtkAction properties
Adjust expected output to match.
2011-07-05 16:07:59 -04:00
Matthias Clasen
22fc55f716 Dump AtkImage properties too
Update expected output to match.
2011-07-05 16:07:59 -04:00
Matthias Clasen
58b4b410fa More text properties 2011-07-05 16:07:59 -04:00
Matthias Clasen
76f71b8f9c Dump AtkText properties too
...would be nice if these actually _were_ properties.
Update the expected output to match.
2011-07-05 16:07:58 -04:00
Matthias Clasen
9860acfcbe Remove remnants of GnomeCanvas
There were some random places where gail was poking at types
to see if they were a GnomeCanvas. Just remove this.
2011-07-05 16:07:58 -04:00
Matthias Clasen
bd6b799d26 Fix make check
Not really the best fix; for now just ignore accessible parents
that are not GtkAccessibles - it seems that something causes
GailToplevels to show up as parents of GailWindows, randomly.
2011-07-05 16:07:58 -04:00
Matthias Clasen
784e4a81eb Remove an extra line from expected output 2011-07-05 16:07:58 -04:00
Matthias Clasen
5952c6abbb Don't forget to free an empty attribute set 2011-07-05 16:07:58 -04:00
Matthias Clasen
f3ae93af95 Add a more convenient way to dump
For initial creation of the results, allow to run
accessibility-dump --generate file.ui,
which will dump just the expected output to stdout,
without any extra decorations.
2011-07-05 16:07:58 -04:00
Matthias Clasen
d36d6172d2 Dump more accessibility data
This commit adds dumping of parents, attributes and states.
The expected dump output has been adjusted to match.
2011-07-05 16:07:58 -04:00
Matthias Clasen
667504d791 Add new tests to EXTRA_DIST 2011-07-05 16:07:58 -04:00
Matthias Clasen
3f01b42652 Add a test that sets ::accessible-name 2011-07-05 16:07:57 -04:00
Matthias Clasen
5c1b0b005e Add a test that has a labeled-by relation in it 2011-07-05 16:07:57 -04:00
Benjamin Otte
f76c439897 tests: Add first shot at an accessibility dump tool
The tool works like this:
  ./accessibility-dump [FILE ...]
If no files are given, all files with the extension ".ui" in the current
directory are taken. For every file "test.ui", the following steps are
performed:
1) test.ui is loaded using GtkBuilder
2) The accessible for the window is loaded
3) The information of accessible is converted into a string using a
   syntax defined in this test file
4) The generated string is diffed with the file "test.txt"
5) If the diff is empty, the test is a success, if not, the test fails.
6) The diff is output when the test runner is run with --verbose

So to add a test named "test", create a file called "test.ui", put it
into this directory. Then create the expected output file "test.txt",
put it into this directory too. You can create the initial version of
this file by invoking "./accessibility-dump --verbose test.ui". The
output will contain the expected text and can be copy/pasted into the
text file.
2011-07-05 16:07:57 -04:00
Benjamin Otte
ebf8bf0000 API: Add gtk_widget_class_set_accessible_type()
The function is supposed to bypass the ATK registry. For 2 reasons:
1) We get rid of a lot of boilerplate madness.
2) The registry allows creating multiple accessibles per widget and we
   don't.

The old code for registries is still there.
2011-07-05 16:07:57 -04:00
Benjamin Otte
9ebcd66d43 widget: Add a GtkWidgetClassPrivate
As long as glib doesn't provide class privates, we'll have to ship our
own...
2011-07-05 16:07:57 -04:00
Benjamin Otte
dfe5459437 a11y: Remove unused HTML objects
Seems they were for GtkHTML and never used since GAIL got imported into
GTK.
2011-07-05 16:07:57 -04:00
Matthias Clasen
d4a1a03614 No need for gail.h 2011-07-05 16:07:57 -04:00
Matthias Clasen
9453332cce NO_GAIL not used anymore 2011-07-05 16:07:57 -04:00
Matthias Clasen
f1bf642c98 We're not a module anymore
So no need to implement module entry points; and libgnome is
dead too, so no need to export functions for it either.
2011-07-05 16:07:57 -04:00
Matthias Clasen
8bbab02215 Add a first, trivial test for accessibles 2011-07-05 16:07:57 -04:00
Matthias Clasen
813b2c0aff And remove it from the build too 2011-07-05 16:07:57 -04:00
Matthias Clasen
d3ab2fe19c Remove the old gail tests
This is not what we are looking for in tests, and it hasn't been
touched in ages.
2011-07-05 16:07:56 -04:00
Benjamin Otte
773df067e8 gtk: Include gail by default, don't build it as a module
It is now no longer possible to disable it.
This doesn't matter though because GTK will not instantiate a11y
objects until you actually use it. So nothing changes in practice.
2011-07-05 16:07:56 -04:00
Benjamin Otte
8c32d2d516 gtk: Move a11y tests fro a11y/tests to tests/a11y 2011-07-05 16:07:56 -04:00
Benjamin Otte
48b9521cbb gail-util: Move into toplevel directory 2011-07-05 16:07:56 -04:00
Benjamin Otte
b6025e44a9 gail: Copy gail-util functions into gail
Otherwise we get a circular dependency if we move libgail into GTK:
GTK depends on gail-util depends on gail (is part of GTK)
2011-07-05 16:07:56 -04:00
Benjamin Otte
df2e122b5c gail: Move from modules/other/gail to gtk/a11y 2011-07-05 16:07:56 -04:00
Benjamin Otte
3ec9e6c5e8 gail: No need to include modules/other in CFLAGS anymore
Now that we include headers directly, ew don't need it anymore. And the
current directory is included automatically.
2011-07-05 16:07:56 -04:00
Benjamin Otte
ee606d1684 gail: Include files directly
Instead of including <gail/gailfoo.h>, include "gailfoo.h"
Private headers should be included like this (to make it esily visible
that the headers are private) and we want to move this directory to a
different name, so hardcoding the directory name is counterproductive to
that.
2011-07-05 16:07:56 -04:00
Arash Mousavi
842b1decc8 Updated Persian translations 2011-07-05 22:21:40 +04:30
Matthias Clasen
28398e250a Post-release version bump
Up to 3.1.9
2011-07-05 11:04:06 -04:00
Matthias Clasen
66d8b6bd6e 3.1.8 2011-07-05 11:03:23 -04:00
Matthias Clasen
646a657453 Update NEWS 2011-07-05 09:37:43 -04:00
Benjamin Otte
769c795d57 reftests: Use an offscreen window to avoid artifacts
When tests are larger than the screen size and no compositing is
enabled, the window will be clipped to the screen size and all areas
outside of the screen have undefined contents.

To avoid this, we can use an offscreen window.
2011-07-05 15:28:18 +02:00
Benjamin Otte
ace4faa4e2 reftests: Fix label-sizing reference for Pango
See https://bugzilla.gnome.org/show_bug.cgi?id=649783 for a discussion
of the problem. Should this bug be fixed, this patch can just be
reverted.
2011-07-05 15:18:14 +02:00
Benjamin Otte
84e6f353ac reftests: load/save file once in Glade
This way the output is canonicalized for further editing. No changes
have been done.
2011-07-05 15:17:23 +02:00
Yaron Shahrabani
3c46df5fcb Updated Hebrew translation. 2011-07-02 10:26:09 +03:00
Federico Mena Quintero
121f787136 Update the docs with the policies for Save dialogs
Basically, don't ever set the current folder, and only use
gtk_file_chooser_set_filename() for 'File/Save As'.  This is so
that the file chooser will be able to present its recently-used
lists as appropriate, giving the user good suggestions by default.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:12:09 -05:00
Federico Mena Quintero
9eb324dbaf No need to highlight the file's basename when setting the base folder
None of the cases where _gtk_file_chooser_entry_set_base_folder() appear to require
the entry highlighting the file's basename.  Doing the highlighting actually makes
things look weird in Save/Recent mode if you

  1. type a filename
  2. click on a recent-folder,

as right after (2) your filename would get its basename highlighted for
no apparent reason.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
894be790bf Hide the Create Folder button in recent-files mode when the pathbar is on
The create-folder machinery doesn't handle that case yet; we may enable it later
once we figure out the implications for the GUI.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
6bb34d7dd4 Centralize the setting of the pathbar's widgets
It used to be that every part of the file chooser's code would show/hide the widgets
near the pathbar as needed.  Now we have two central functions:

  path_bar_update()
  path_bar_set_mode()

These take care of all the widget shuffling;  setting the visibility of the
pathbar, info bar, and Create Folder button as appropriate; setting the contents
of the info bar, etc. - based on the current operation_mode and action.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
18ebec28c9 Create the recently-used widgets and infobar from the pathbar widgets as well
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
3b2e4623f3 Move the pathbar creation to its own function
We will centralize the place where all the pathbar-related widgets are created:
the location button, the pathbar itself, the Create Folder button, and in
subsequent commits, the info bar as well.  We will deal with the pathbar/infobar
as a unit, instead of swapping them in and out in an ad-hoc fashion.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
4d9fdb1c1b Warn the user when he still needs to type a filename or choose a folder
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
b442a3a4ea Return the recent-folder plus filename in Save mode from get_files()
Since the GtkFileChooserEntry already gets the recent-folder set upon it when a recent-folder
is selected, it already can give us the correct fully-formed path.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
ae42f286bb Allow resolving absolute paths even if there is no base_folder
This lets us do proper completion in GtkFileChooserEntry even when no base folder
has been set.  Completion for relative paths won't work, as usual, as expected.
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
1af579b1a2 Set the filename entry's base folder when a recent-folder is selected
This lets the filename entry do completion relative to the selected recent-folder.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
064ff39ad7 Instruct the user to pick a folder when nothing is selected in the recent-folders list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
b90e1211cf Put recently-used folders in the recently-used list
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
e7196ee985 Turn a struct field into a local variable
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
5564df4ac9 Remove unused struct field
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
d64c88d4d1 Actually highlight the 'recently used' and 'search' items in the shortcuts bar
They weren't being selected in the shortcuts bar when those modes were
activated programmatically, instead of through the user selecting
them from the user interface.
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
252ace6681 Start in recently-used mode when no folder is set
In RELOAD_EMPTY mode, when no folder has been selected by the calling app, we now
start showing the recently-used list.  The rationale is as follows:

  - In Open mode, the user is likely to pick a file he has used recently.

  - In Save mode, the user is likely to want a destination folder which
    he has used recently.

For the Save case, where we want to present the user with recent folders instead
of recent files, we will make the recent-list do so in subsequent commits.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
1ffd36814a Put the pathbar in the 'Save in folder:' row in Save mode
Now we reparent the browse_path_bar_hbox to that spot in Save mode,
or to be above the file lists in Open mode.  The pathbar makes for a very
clear indication of the location to save in.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:09 -05:00
Federico Mena Quintero
4353a5f88c Get rid of the save_folder_combo
And with this we get rid of the craziness of having a separate filter model
for the combobox's model.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:05:12 -05:00
Federico Mena Quintero
3146c790a7 Remove the expander in Save mode, and the configuration key
This effectively makes the file chooser always be in 'expanded' mode.
Later, we'll move the pathbar to the 'Save in folder:' line.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:05:12 -05:00
Federico Mena Quintero
904ad6620f Utility function to extract folders from the recently-used list
This extracts the parent folders from the items in the recently-used
list.  We'll use it in the file chooser to present a list of
recently-used folders.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:01:24 -05:00
Cosimo Cecchi
ba76f54549 reftests: Add test for box brokenness
This is a tests for the last commit.
2011-07-02 01:57:27 +02:00
Benjamin Otte
246a7ecbc9 box: Remove cache for sibling paths
We can't cache this path as widgets might dynamically add or remove
style classes without telling us. At which point the stored path does
not work.
2011-07-02 01:40:16 +02:00
Cosimo Cecchi
668790ddee toolbar: don't leak the sibling path 2011-07-01 12:33:26 -04:00
Cosimo Cecchi
34d85f04e5 toolbar: don't count invisible widgets when building the sibling path
Also, fix RTL nth-child handling for toolbars.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
9417017f5b toolbar: invalidate order when an item visibility changes 2011-07-01 12:31:22 -04:00
Matthias Clasen
e2a2da224d Test box and toolbar regions in parallel
This makes it easy to see discrepancies.
Plus, it is fun
2011-07-01 12:31:22 -04:00
Matthias Clasen
301c120b74 toolbar: nth-child support for GtkToolbar
This doesn't quite work right yet.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
ef153a5fff box: follow children visibility when building the sibling path
This fixes nth-child not working for widgets which were not
visible before being added to the box, but it's also a better fix
for https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-07-01 11:48:22 -04:00
Cosimo Cecchi
e731caf8d0 Revert "gtkbox: Invalidate order on changes, even if the child is not visible"
This reverts commit 8cb0cc58e3.
2011-07-01 11:47:41 -04:00
Matthias Clasen
c2449763ce Fix up docs for predefined style classes.
The table was incomplete and out of date. Instead, just
put a list of links in that place, and move all the extra
documentation to the macros. Bug 653785
2011-06-30 19:18:26 -04:00
Matthias Clasen
c22fb1684c GdkKeymap: Prevent an infinite loop in the non-XKB case
Somehow the increment got lost, as comparison with the 2.x code
shows.
2011-06-30 14:45:16 -04:00
Vincent Untz
8cb0cc58e3 gtkbox: Invalidate order on changes, even if the child is not visible
When we build the sibling path for the order, we do not skip hidden
children (since, quoting the comment, "we cannot reliably detect changes
in widget visibility"). So we need to invalidate the order when hidden
children are reordered and removed.

https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-06-30 09:11:28 +02:00
John (J5) Palmieri
9c4892f291 [gi] add more annotations to force drag and drop api to be methods 2011-06-29 14:54:25 -04:00
Wouter Bolsterlee
8a11ea6dcc Updated Dutch translation by Wouter Bolsterlee 2011-06-29 19:31:53 +02:00
John (J5) Palmieri
f46f038abd [gi] make sure gtk_drag_dest_unset is annotated as a method 2011-06-29 12:11:36 -04:00
Juan Pablo Ugarte
ea81c710d0 Make GtkBuilder do not delay construct properties that can be resolved
(so construct is respected when possible) and skip construct only props that
can not.
2011-06-29 11:45:33 -03:00
Javier Jardon
445ac0e650 gtk/gtkmenuitem: Remove reference to deprecated and removed GtkItem 2011-06-29 15:01:19 +01:00
Chun-wei Fan
9eeadc2dc8 Update VS2010 READNE.txt
This file should have Windows CRLF EOL as well
2011-06-29 13:55:46 +08:00
Chun-wei Fan
f1306f7bd1 Re-attempt to correct EOL on VS2010 solution
This time I realized that I needed to set autocrlf=false on my Windows side
... ugh...

This is one of those files that must have CRLF line endings to work
correctly :|
2011-06-29 12:49:14 +08:00
Claudio Saavedra
ca801abb4c Use a PAGE_STEP macro instead of a magic number
Helps to understand the code.

https://bugzilla.gnome.org/show_bug.cgi?id=653512
2011-06-28 09:47:44 +03:00
Ihar Hrachyshka
f403a4c8aa Updated Belarusian translation. 2011-06-28 01:32:49 +03:00
Matthias Clasen
7bbe537915 Don't forget to initialize a variable
Pointed out by clang in bug 653333.
2011-06-27 16:47:59 -04:00
John (J5) Palmieri
f685ce37fc [gi] correct annotation for GtkMenuPositionFunc callbacks 2011-06-27 13:45:17 -04:00
Mike Gorse
4fa3cef795 bgo#653191 - fix uninitialized variable in gtk_file_chooser_entry.c 2011-06-27 12:36:11 -05:00
Paolo Borelli
399de11116 Speed up page insertion
Make sure to call widget_set_child_visible(false) on all tabs except the
current before calling widget_set_parent.
2011-06-26 20:41:21 +02:00
Ihar Hrachyshka
2c91626560 Updated Belarusian translation. 2011-06-25 21:32:27 +03:00
Ihar Hrachyshka
e967374fe4 Updated Belarusian translation. 2011-06-25 21:28:16 +03:00
Chun-wei Fan
c0d54cde0c Update VS projects distribution
Change the EXTRA_DIST to distribute the gtk3-demo projects (instead of
gtk-demo)
2011-06-25 02:06:53 +08:00
Chun-wei Fan
f74585caea Add headers required by gtk/gtkwin32embedwidget.c
Some functions from the added headers are needed by this file to compile
without C4013 (a.k.a implicit declaration of ...) warnings/errors
2011-06-24 13:19:58 +08:00
Chun-wei Fan
0c9d2795e3 Update VS project files
-Reinstate build/win32/vs10/gtk+.sln with the correct EOL (DOS/Windows), so
 that it will be correctly recognized by Windows instead of having the
 annoying "Unrecognized Visual Studio Version".

-Update property sheets to reflect on new headers added

-Change the demo program to be gtk3-demo.exe, to be consistent with the
 names on other platforms, and updated/renamed related project/solution
 files, and added overlay.c to the list of demo sources.
2011-06-24 12:48:22 +08:00
Chun-wei Fan
c5250adce1 Temporarily remove build/win32/vs10/gtk+.sln
The line endings need to be DOS/Windows...
2011-06-24 12:42:47 +08:00
Murray Cumming
191afb88f9 GtkPaned docs: Remove sentence saying see GtkPaned. 2011-06-24 00:21:32 +02:00
Arash Mousavi
f0443b6549 Updated Persian Translation 2011-06-23 23:32:24 +04:30
Scott Moreau
24f1132671 Track wayland protocol changes. 2011-06-23 07:06:35 -04:00
Colin Walters
873539e2d2 introspection.m4: Update from g-i
This fixes substitution with dash.
2011-06-22 11:07:37 -04:00
Fran Diéguez
8558c05f4b Updated Galician translations 2011-06-21 13:58:45 +02:00
Claudio Saavedra
c3b7590c77 Avoid GApplication being released twice on gtk_application_remove_window() calls
Removing the window from the window list before setting the
application to %NULL avoids gtk_application_remove_window() triggering
another call to gtk_application_window_removed(), which would release
the application a second time.

https://bugzilla.gnome.org/show_bug.cgi?id=653053
2011-06-21 00:38:33 +03:00
Javier Jardón
d2b6480ba2 docs: remove tmpl directories
We do not use template files anymore
2011-06-20 14:24:57 +01:00
Javier Jardón
6a2d175457 configure.ac: Generate xz tarballs with ustar format by default 2011-06-20 11:46:16 +01:00
Chun-wei Fan
7a032ecdfe Update VS property sheets
As Cairo and Cairo-GObject are often built as two seperate DLLs/modules,
set the property sheets to link to both libraries, instead of using the
previous approach where a monolithic Cairo DLL which contains GObject
support is used.
2011-06-20 17:05:00 +08:00
Chun-wei Fan
a49ef87f5f Refine Visual C++ 2010 projects
-Remove unneeded tags from projects
-Seperate intermediate directories for projects to avoid rebuilding/
 linking on every rebuild and MSBuild errors (et al.) for not being
 able to write into build log files as they are in use.
2011-06-20 12:19:54 +08:00
Kjartan Maraas
ef50f7a4e8 Updated Norwegian bokmål translation. 2011-06-19 17:32:13 +02:00
Jorge González
0e430faa81 Updated Spanish translation 2011-06-19 17:18:01 +02:00
Matthias Clasen
e81426dbd6 Add sibling information to widget path string representations 2011-06-18 12:36:38 -04:00
Matthias Clasen
0725e417c5 Fix css syntax in example 2011-06-18 11:11:47 -04:00
Matthias Clasen
b71b560e56 Remove an unused variable 2011-06-17 22:57:35 -04:00
Matthias Clasen
ebebbe4da4 Remove nonexisting properties
glade insists on adding GtkGrid:n-rows and :n-columns, for
no good reason...
2011-06-17 20:35:41 -04:00
Cosimo Cecchi
71eb9d123d tests: import the widget-factory test for theming
Courtesy of Andrea Cimitan <andrea.cimitan@canonical.com>.
2011-06-17 11:51:14 -04:00
Matthias Clasen
8f357bb809 Update keybinding docs
These were still explaining gtkrc syntax.
2011-06-16 23:51:06 -04:00
Matthias Clasen
5eb8ca1882 Remove unnecessary includes
gtkstyle.h is similarly unused.
2011-06-16 23:35:24 -04:00
Matthias Clasen
f1a9c3efff Remove unused includes
Nothing is using gtkrc.h functionality any more.
2011-06-16 23:33:43 -04:00
Matthias Clasen
04ce0467ab Silence a warning 2011-06-16 23:18:03 -04:00
Matthias Clasen
9bb5077b90 GtkBox: don't reset styles too often 2011-06-16 22:15:50 -04:00
José Aliste
1da07caaed info_bar: call style_updated at the end of info_bar_init
This fix a render bug where the infobar would not add borders
arount its content. Fix proposed by Benjamin Otte.
2011-06-16 14:34:14 -04:00
Chun-wei Fan
e8fb1bcb13 Update Visual C++ projects
Use G_ENABLE_DEBUG for all debug builds
2011-06-16 15:34:43 +08:00
Benjamin Otte
e54ccaee53 toolbar: Better fix for animations
It turns out there's more places where the toolbar item size is used as
the margin box instead of the content box. Because of that, store the
margin box when allocating and use it whenever calls
toolbar_content_get_allocation() instead of calling
gtk_widget_get_allocation().
2011-06-15 22:50:59 +02:00
Benjamin Otte
ba869e0fe0 toolbar: Handle the fact that size_allocate() != get_allocation()
size_allocate() allocates the available space for the margin box,
get_allocation() returns the actual space of the content box and those
can be different. And then animations never stop.
If that makes you go "huh?", you might want to read
http://www.w3.org/TR/CSS21/box.html
and the docs for gtk_widget_compute_align().
2011-06-15 20:14:18 +02:00
Benjamin Otte
4edb3f08e4 reftests: fix background-area reftest after the last commit 2011-06-15 11:25:26 -04:00
Cosimo Cecchi
af77ba78bb themingengine: shrink the background size to the padding-box
This fixes a regression introduced by this commit [1] that causes
background to draw beyond the padding-box, which breaks rounded corners,
(in addition to not being compliant with what CSS does by default).

[1] http://git.gnome.org/browse/gtk+/commit/?id=c56700ca3029a9ab1362009bff35f2a70e432c02

https://bugzilla.gnome.org/show_bug.cgi?id=652618
2011-06-15 11:03:56 -04:00
Xan Lopez
b47c7405f2 themingengine: plug a couple of leaks 2011-06-15 14:13:20 +02:00
Xan Lopez
8eb48a876b border-image: Fix leakage 2011-06-15 13:46:16 +02:00
Benjamin Otte
d3535ff6ce tests: Add tests for font-family
This readds the tests now that font-family works again. They were
previously removed when font-family support was backed out due to bugs.
2011-06-15 12:57:21 +02:00
Benjamin Otte
0d253b67f4 css: Make font property a shorthand
... and implement the CSS font properties:
- font-size
- font-style
- font-family
- font-weight
- font-variant

This is the second try at this. The first was backed out previously due
to bugginess. Let's hope this one survives a bit longer.

Also makes the font-family CSS test work again.
2011-06-15 12:52:53 +02:00
Matthias Clasen
0c162851ed Add a missing break statement 2011-06-14 21:59:55 -04:00
Matthias Clasen
519b3ca861 Add a missing break statement 2011-06-14 21:58:51 -04:00
Matthias Clasen
5254fbacfb Avoid an oob read 2011-06-14 21:56:50 -04:00
Matthias Clasen
f68c073e33 Remove a redundant NULL check 2011-06-14 21:53:53 -04:00
Matthias Clasen
32f0761daa Avoid a dereference-before-null-check 2011-06-14 21:50:16 -04:00
Matthias Clasen
d5dad6412b Give this code a chance to work
At least it does not get uninitialized variable warnings now.
2011-06-14 21:44:12 -04:00
Matthias Clasen
37167ec458 Make this code more meaningful 2011-06-14 21:18:08 -04:00
Matthias Clasen
d3c427a767 Don't forget to cleanup varargs 2011-06-14 21:14:48 -04:00
William Jon McCann
be7f734aff tests: Add simple test for image clipboard 2011-06-14 16:06:33 -04:00
Matej Urbančič
da9e1954eb Updated Slovenian translation 2011-06-14 18:24:30 +02:00
Juan A. Suarez Romero
c903ece96b image: Initialize variable 2011-06-14 09:49:23 +00:00
Matthias Clasen
e3e9527354 GtkAssistant: improve button labels
Forward/Back/Last has been declared strange; so go with something
a little more friendly: Continue/Go Back/Finish.
https://bugzilla.gnome.org/show_bug.cgi?id=652506
2011-06-13 22:35:15 -04:00
Benjamin Otte
76f2aa737b docs: Add Since tag to GtkWidget::draw 2011-06-13 18:29:07 +02:00
Benjamin Otte
44245caae5 demos: Remove unused variable 2011-06-13 18:27:24 +02:00
Benjamin Otte
f4a6ef0d50 tests: Add a CSS test for color parsing errors
In [particular check for the fix in the last commit.
2011-06-13 15:01:52 +02:00
Benjamin Otte
9e2ebdee07 cssparser: Actually send an error in an error case
The error case was excess commas in rgb/rgba colors, such as
rgba(0,255,0,0,0.5)
2011-06-13 15:01:52 +02:00
Benjamin Otte
a471b4b198 themingengine: Improve handling of different colors
We don't want to have different colors cause seams, so we try very hard
to render them at the same time.
2011-06-13 15:01:52 +02:00
Benjamin Otte
407b3f2cde themingengine: Implement support for multiple border colors
Also use this support to implement inset and outset border styles
without cheats.
2011-06-13 15:01:52 +02:00
Benjamin Otte
3aa73bebea styleproperty: Add border-*-color style properties
And make border-color a shorthand
2011-06-13 15:01:52 +02:00
Benjamin Otte
016e0c1a3e reftests: Check that the default border color is the foreground color 2011-06-13 15:01:52 +02:00
Benjamin Otte
abc239f444 styleproperty: The default border color is the normal color 2011-06-13 15:01:52 +02:00
Benjamin Otte
ba7d1c2104 styleproperty: Make default_value() take a state
Because of this, resolve() needs to take a state, too. This is so that
we can have default values depend on other values (like border color).
2011-06-13 15:01:52 +02:00
Benjamin Otte
e0b1943c97 roundedbox: Fix border radius grow algorithm
When one radius gets to 0, the other should be set to 0, too. Otherwise
the paths constructed from it will not be correct.
2011-06-13 15:01:52 +02:00
Matthias Clasen
7cd471fb56 Bump version 2011-06-13 08:03:40 -04:00
Matthias Clasen
d9fa5b342b Forgotten file 2011-06-13 07:33:47 -04:00
Carlos Garnacho
d3274e8e06 xi2: Handle XIM modules that replace events
Fixes Bug 645993 - XIM has wierd behaviors. Some XIM modules
filter every key event, possibly replacing it with their own
one. These events usually have serial=0, so make
GdkDeviceManagerXI2 also listen on these.
2011-06-13 07:16:16 -04:00
Matthias Clasen
2ce9ff2d6a Remove broken font-family css test 2011-06-13 06:56:12 -04:00
Matthias Clasen
bb26d305e6 Update for 3.1.6 2011-06-13 00:16:55 -04:00
Ignacio Casal Quinteiro
cfb2a45f9a overlay: add initial version of gtkoverlay 2011-06-12 23:27:18 -04:00
Javier Jardón
f50da3babe configure.ac: Use aux directory to store autogenerated files 2011-06-13 03:52:09 +01:00
Daniel Drake
794a3706cd gtkdnd: Don't bind/unbind keycodes that couldn't be determined
At http://dev.laptop.org/ticket/10643 we are seeing that drag-and-drop
within the Sugar shell causes all of Sugar's custom keybindings to be
removed.

This is because gtkdnd tries to unbind XK_KP_Space, which (on my systems)
is resolved to NoSymbol by XKeycodeToKeysym(). NoSymbol has value 0,
the same as AnyKey, and XUngrabKey(AnyKey) is equivalent to unbinding
all possible keycodes.

Fix this by catching NoSymbol before binding/unbinding.

https://bugzilla.gnome.org/show_bug.cgi?id=652402
2011-06-12 21:44:00 -04:00
Matthias Clasen
36f6c6167b Revert "gtk/gtkmenuitem: gtk_misc_set_alignment replacing"
This reverts commit 49e62d2a5f.
It turns out that GtkAccelLabel is not quite ready for
widget align properties.
2011-06-12 21:36:37 -04:00
Javier Jardón
85747da972 tests: use GdkRGBA instead GdkColor 2011-06-13 00:24:53 +01:00
Javier Jardón
4a9bd917a0 gtk-demo/colorsel.c: Do not use GtkAlignment 2011-06-13 00:04:39 +01:00
Javier Jardón
04fa731e6b gtk.symbols: Add missing api 2011-06-12 23:00:14 +01:00
Benjamin Otte
287069ca3c default theme: Fix menuitem check/radio colors 2011-06-12 23:35:39 +02:00
Benjamin Otte
3712ec71d4 default theme: fix menuitem selections 2011-06-12 23:28:43 +02:00
Benjamin Otte
d7598aabe3 default theme: fix tooltip colors 2011-06-12 23:26:53 +02:00
Benjamin Otte
4f649e10fa themingengine: Add magic to draw inset/outset properly
Use a bunch of tricks to get inset/outset right with a small amount of
code. In particular, fix the hidden sides causing artifacts.

Included is a bunch of code comments explaining what we actually do.
2011-06-12 23:00:25 +02:00
Benjamin Otte
cd4c527451 themingengine: Reduce border to 0 on hidden sides
Fixes drawing of expanders.
2011-06-12 23:00:25 +02:00
Benjamin Otte
8b0bffc3a2 themingengine: Fix inset/outset drawing 2011-06-12 23:00:24 +02:00
Javier Jardón
7c0e18f8a6 gailtextcell: Fix typo 2011-06-12 21:46:18 +01:00
Ignacio Casal Quinteiro
391917063e textview: do not destroy the layout in unrealize
Now instead of invalidating when we create the layout we invalidate
when we realize the widget and we remove the invalidation when
unrealizing. It was pointless too destroying the layout in unrealize
as at the end what we just wanted was to remove the invalidation idles.
2011-06-12 17:54:07 +02:00
Benjamin Otte
deed7175ca roundedbox: Handle shrinking to zero
We need it for wide separators.
2011-06-12 03:42:29 +02:00
Cosimo Cecchi
61c253a132 themingengine: set the right coordinates for the rounded box rect 2011-06-11 13:32:15 -04:00
Matej Urbančič
8e945d04a8 Updated Slovenian translation 2011-06-11 17:44:59 +02:00
Matej Urbančič
0e1cc8a944 Updated Slovenian translation 2011-06-11 17:40:17 +02:00
Jorge González
9baabe7ca3 Updated Spanish translation 2011-06-11 11:34:19 +02:00
Benjamin Otte
3a1da7f09c styleproperty: Resolve NULL RGBAs to pink
.. instead of returning NULL and crashing.

Fixes no-colors reftest
2011-06-11 10:44:16 +02:00
Benjamin Otte
a536a50dbd reftests: Add reftest for unresolvable properties 2011-06-11 10:41:17 +02:00
Benjamin Otte
8861f6dbfb styleproperty: Fall back to default values, instead of recursing
Copy/paste error. The original commit message even explains this.
2011-06-11 10:38:23 +02:00
Benjamin Otte
7dbea94fd2 styleproperty: Add a default value func for border-image-width
This is necessary because we want to use NULL as the default value. But
the default value for borders is { 0, 0, 0, 0 } and not NULL.

Fixes border-image-gradient and border-image-repeat reftests.
2011-06-11 09:29:43 +02:00
Benjamin Otte
a1d19be950 reftests: Add a test for inset box-shadow
This test is copied from the CSS spec. The reference is very sensitive
to the rendering algorithm in use, because the rounded corners have
semi-transparent pixels. It might be necessary to update them in the
future.
2011-06-11 09:29:43 +02:00
Benjamin Otte
b196abe8be themingengine: Render inset box shadow on top of backgrounds 2011-06-11 09:29:43 +02:00
Benjamin Otte
590aadd056 styleproperty: Parse shadow options in any order
The CSS spec allows random ordering of various properties, so we should,
too.
2011-06-11 09:29:43 +02:00
Cosimo Cecchi
1539ade9d5 cssprovider: add a doc paragraph about box-shadow 2011-06-11 09:29:43 +02:00
Cosimo Cecchi
6b5b5cb305 styleproperty: register the box-shadow property 2011-06-11 09:29:43 +02:00
Cosimo Cecchi
4d986f7fb0 shadow: add _gtk_box_shadow_render()
This supports only inset box-shadow elements for now.
2011-06-11 09:29:43 +02:00
Benjamin Otte
40dfcfcbc4 themingengine: Draw border with GtkRoundedBox 2011-06-11 09:29:43 +02:00
Benjamin Otte
459278c5e1 themingengine: Use GtkRoundedBox for drawing backgrounds 2011-06-11 09:29:42 +02:00
Benjamin Otte
48814c8d1e themingengine: Do pattern merging smarter
Create an intermdiate surface and fill() with it later. Instead of doing
clip + paint twice.
2011-06-11 09:29:42 +02:00
Benjamin Otte
86719e1d35 gtk: Add GtkRoundedBox
CSS drawing operates on rounded boxes a lot, so it makes sense to split
them out instead of duplicating them everywhere.
2011-06-11 09:29:42 +02:00
Benjamin Otte
d8033c3796 themingengine: Get rid of extra variables
Now that we don't change the width/height anymore, we can keep using it
for scaling he background.
2011-06-11 09:29:42 +02:00
Benjamin Otte
117b50dd21 themingengine: remove unused variable 2011-06-11 09:29:42 +02:00
Benjamin Otte
281ce813fc reftests: Add background-area reftest
Checks the fix from last commit: background area is supposed to be the
border box.
2011-06-11 09:29:32 +02:00
Benjamin Otte
c56700ca30 themingengine: background applies to full border
The code was attempting to only apply it to half of the border. But
according to CSS, the background area by default is the full border box.
2011-06-11 02:08:28 +02:00
Benjamin Otte
06642cab56 themingengine: Remove unnecessary optimization
Code is likely as fast or faster without it, and this saves code.
2011-06-11 02:04:17 +02:00
Matthias Clasen
abca0f050e Update gtkimcontextsimpleseqs.h
This is using the updated compose-parse.py from the previous commit.
2011-06-10 18:36:06 -04:00
Matthias Clasen
0bbc2ed520 Update compose-parse.py
This update makes compose-parse.py work with Unicode 6.0 and make
it generate the new GDK_KEY_ defines. Patch by Ryo Hashimoto,
bug 651979.
2011-06-10 18:33:05 -04:00
Diego Celix
71dc365e8a gtktoolitemgroup: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtktoolitemgroup.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:58 -04:00
Diego Celix
b16c973699 gtkprinteroptionwidget: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprinteroptionwidget.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:57 -04:00
Diego Celix
90e2fdca71 gtk/gtkfontsel: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfontsel.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:56 -04:00
Diego Celix
c92600c00f gtk/gtkassistant: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkassistant.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:55 -04:00
Diego Celix
0a75ffd4a3 gtkprintunixdialog: gtk_misc_set_alignment replace
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprintunixdialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:54 -04:00
Diego Celix
a06dfd6873 gtkprintbackend: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkprintbackend.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:53 -04:00
Diego Celix
eb54d933a8 gtkpagesetupunixdialog: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkpagesetupunixdialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:52 -04:00
Diego Celix
8af988e744 gtkfilechooserdefault: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfilechooserdefault.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:51 -04:00
Diego Celix
df9d7cf9aa gtkcellrendereraccel: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcellrendereraccel.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:49 -04:00
Diego Celix
cc0be1f949 gtk/gtkmessagedialog: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkmessagedialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:48 -04:00
Diego Celix
0924e4d668 gtk/gtkmountoperation: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkmountoperation.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:47 -04:00
Diego Celix
cb03ea518c gtk/gtkradiomenuitem: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkradiomenuitem.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:46 -04:00
Diego Celix
49e62d2a5f gtk/gtkmenuitem: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkmenuitem.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-06-10 17:59:45 -04:00
Matthias Clasen
1c8632c911 One more change 2011-06-10 17:42:14 -04:00
Matthias Clasen
2204405c9c Expand migration hints for h/v boxes 2011-06-10 17:40:16 -04:00
Marc-André Lureau
9bdcffd271 build: fix win32 configure checks
Notice the broken check for "os_win32" vs. "$os_win32".
Improve a bit the rest of autofoo stuff around it.

https://bugzilla.gnome.org/show_bug.cgi?id=652282
2011-06-10 20:13:12 +02:00
Benjamin Otte
7adfd8a0f5 reftests: Remove unused file from EXTRA_DIST 2011-06-10 16:26:39 +02:00
Benjamin Otte
0bfb663d0c cups: Fix unused variable warning when not using colord 2011-06-10 15:01:04 +02:00
Javier Jardón
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Javier Jardón
a8f5a8b919 docs: Do not use G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Javier Jardón
7c688cb8a6 gdk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
Richard Hughes
7a328b377c If --enable-colord or --disable-colord is not used when configuring, autodetect the presence of colord 2011-06-10 12:34:54 +01:00
Yaron Shahrabani
10ab6f3570 Updated Hebrew translation. 2011-06-10 12:57:26 +03:00
Javier Jardón
0ec4fa558f docs: Improve crossreferences
Use #GtkOrientable:orientation instead "orientation"
2011-06-10 10:56:35 +01:00
Murray Cumming
151bcc6dfa Box, etc: Improve docs after H* and V* deprecations.
Stop documenting the base class as just a base class for the
H and V specializations, copying the useful descriptions from
those H/V classes to the base class. Do not advise the use of
the H/V classes or refer to them unnecessarily.
2011-06-10 09:50:45 +02:00
Yaron Shahrabani
342754e8a2 Updated GLib Translations. 2011-06-10 08:17:10 +03:00
Matthias Clasen
53b586abcf Avoid underallocations in the custom paper dialog 2011-06-10 00:17:56 -04:00
Matthias Clasen
8771f2ce9c Don't rely on button allocations for invisible headers
Now that we are not allocating treeview column buttons anymore
with invisible headers, we can't rely on their allocations for
other things like cell area computations anymore. Use x-offset
and width of the column directly, instead.
2011-06-10 00:17:56 -04:00
Matthias Clasen
eeca20a800 Add API to get x position of treeview columns
Their width was already available.
2011-06-10 00:17:56 -04:00
Cosimo Cecchi
9e5d6544ba border-image: unpack the GtkGradient if there's one
So that it will eventually be resolved by the style property lookup
machinery.
2011-06-09 23:07:50 -04:00
Cosimo Cecchi
35fdce68e1 cellrendererpix: make the icon render properly again
pix_rect was not initialized anymore, so the gdk_rectangle_intersect()
call would always fail.
2011-06-09 22:59:06 -04:00
Matthias Clasen
a081485269 GtkTreeView: Don't short-circuit header-height calculation
The code was putting header_height at zero when there is
no model. That leads to temporary underallocation of header
buttons.
2011-06-09 21:40:08 -04:00
Matthias Clasen
1743e18c87 GtkDialog: avoid underallocations
GtkDialog changes its size depending on style properties. If
we only do this in response to ::style-updated, it happens during
the initial realization of the dialog and leads to the dialog
'growing' between when we determine the initial window size and
when we allocate it that size. So, do this beforehand.
2011-06-09 20:43:02 -04:00
Cosimo Cecchi
3d1407a01a border-image: add support for border-image-width too
It's useful to set a slice size != border-width, as backgrounds are
clipped to border-width too.

As slices can be half-transparent and overlap the background,
this would not fill the border box properly if we only use a single
property for specifying the width.

Also, this brings us even closer to CSS3.
2011-06-09 20:01:57 -04:00
Matthias Clasen
5fcf9ae09e Don't size-allocate invisible headers
We don't ignore their size requests when determining the
column width, so allocating them is bound to spew tons
of annoying underallocation warnings.
2011-06-09 18:55:19 -04:00
Cosimo Cecchi
1208f2bde0 shadow: render icon-shadow for spinners 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
aa37e7323f entry: use the current state when rendering symbolic icons
Make sure the current state is picked up when rendering symbolic icons
too.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
8efa8a067e entry: use GTK_STYLE_CLASS_IMAGE when rendering the entry icon 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
430f6ecbc3 stylecontext: add an "image" style class
For images such as icons in GtkEntry widgets.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
02e82d69b8 entry: use gtk_render_icon() 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
0198662d79 cellrendererpix: use gtk_render_icon() 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
e6a3257b55 image: use gtk_render_icon() 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
514e77581a stylecontext: add gtk_render_icon() 2011-06-09 23:17:09 +02:00
Cosimo Cecchi
0cd810ff7c themingengine: use cairo image surfaces to render state effects
This makes the code cleaner and allows this to be re-used in a
pixbuf-less future.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
2446aef0ea themingengine: add gtk_theming_engine_render_icon()
Renders a pixbuf in the provided rectangle, applying effects such as
'icon-shadow'.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
b6b66803c0 shadow: add _gtk_icon_shadow_paint()
Paints a shadow of the current source, using the defined colors.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
ef78d5b730 styleproperties: add an 'icon-shadow' style property
It's a custom property with the same semantics of text-shadow, which
works on icons and icon-like UI elements, such as spinners, arrows and
separators.
2011-06-09 23:17:09 +02:00
Cosimo Cecchi
c935439a72 border-image: fix a horizontal/vertical index typo 2011-06-09 17:06:00 -04:00
Jorge González
2daba94825 Updated Spanish translation 2011-06-09 23:05:15 +02:00
Cosimo Cecchi
aa515e71d1 spinbutton: don't render an additional background below arrows
It's an entry, so it already has a background below, even when the entry
doesn't have a frame. Also, gtk_spin_button_draw_arrow() will render a
background and a frame in the arrow space anyway.
2011-06-09 15:06:19 -04:00
Cosimo Cecchi
4d8b5baf7e spinbutton: don't remove the entry style class while rendering arrows 2011-06-09 15:06:18 -04:00
Cosimo Cecchi
42d7487a6e border-image: don't try to unpack values from a NULL border-image
NULL is a valid value for border-image, so if it's NULL when unpacking,
don't try to access the struct fields, but just init the GValues for the
unpacked parameters.
2011-06-09 15:06:18 -04:00
Murray Cumming
fe7125e00c gtkcssprovider.h: Remove a trailing comma. 2011-06-09 20:36:14 +02:00
Richard Hughes
9bff51e538 Add optional colord support to the CUPS print module
This functionality adds a new 'Printer Profile' entry to the 'Color' page in the
UNIX print dialog if colord support is enabled.

This shows the user what color profile will be used for the settings they have
selected, and if no profile or the default profile is going to be used.

We are deliberately not allowing the user to _change_ the selected profile, as
the ICC profile is an implementation detail, and we should not change the other
print settings based on the characterization state.

The OpenICC group broadly recommend showing the profile that is used, so that
power users can be sure the correct profile is being used at the right time.

Normal users won't care, as they don't know how horrible the color match is
without profiling the printer and media.
2011-06-09 18:31:02 +01:00
Richard Hughes
16d0fca4f5 Add a 'value' GObject property to GtkPrinterOption so that it can be used with g_object_bind_property() 2011-06-09 15:50:34 +01:00
Kjartan Maraas
84b3d63838 Updated Norwegian bokmål translation 2011-06-09 13:02:39 +02:00
Benjamin Otte
77c102ae6e testtreeview: Don't use deprecated classes to make things interesting 2011-06-09 06:21:11 +02:00
Benjamin Otte
6114b06b3b testgtk: Fix deprecation 2011-06-09 06:20:42 +02:00
Benjamin Otte
2fd625d191 gail: Fix for new box handling 2011-06-09 06:18:10 +02:00
Benjamin Otte
acaaca4c76 gail: Fix scrollbar index_in_parent() implementation 2011-06-09 06:16:23 +02:00
Benjamin Otte
dee2e74736 gail: Remove unreachable code 2011-06-09 06:00:34 +02:00
Benjamin Otte
53e3f43217 reftests: ADd test for overlapping border-image slices 2011-06-09 05:51:55 +02:00
Benjamin Otte
88026c5073 themingengine: Don't modify pattern
Instead, scale/unscale the cairo_t.
2011-06-09 05:51:54 +02:00
Benjamin Otte
9affa9fc4d reftests: Add border-image-repeat
Tests that border-image-repeat is rendered correctly.
The reftest is done via toolbars stuffed into a GtkFixed using
background-image and images tuned for it.
2011-06-09 05:51:54 +02:00
Benjamin Otte
3ef4a3d46f border-image: Redo border-image rendering
The new code is smaller, less crashy and correct(er), but arguably more
complex. I'd have liked to make it simpler, but this border image
algorithm is complex...
2011-06-09 05:51:54 +02:00
Benjamin Otte
9606633d94 border-image-repeat: Fix order of hrepeat and vrepeat 2011-06-09 05:51:54 +02:00
Benjamin Otte
4f8283055e border-image: Don't use NEAREST filtering
use EXTEND_PAD instead to avoid borders.
2011-06-09 05:51:54 +02:00
Benjamin Otte
c0a6b1fb90 borderimage: No need to resolve
border-image is a shorthand, so it's unpacked unresolved and repacked
resolved.
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
4e95e6ae21 border-image: move private types to gtkcsstypes.c 2011-06-09 05:51:54 +02:00
Cosimo Cecchi
052d6ef6da border-image: don't cache the cairo_surface_t in GtkBorderImage
It's not useful to cache these surfaces here, as the GtkBorderImage will
be always generated on the fly, being a shorthand property.

This also allows to get rid of the intermediate image surfaces for
rendering the slices; we now use cairo_surface_create_for_rectangle()
to proxy the slices from the source surface to the rendered area, which
should also yield better performance.
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
a2a8d3e8f4 docs: expand the docs for border-image
https://bugzilla.gnome.org/show_bug.cgi?id=651194
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
4cfccde6da border-image: ensure image->resolved is set when resolving the gradient
https://bugzilla.gnome.org/show_bug.cgi?id=651194
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
83a383e4ba reftests: add reftests for border-image with gradient and url sources
https://bugzilla.gnome.org/show_bug.cgi?id=651194
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
e3dd437b67 styleproperty: turn border-image into a shorthand property
It's composed by
- border-image-source: a cairo_pattern_t holding an image from file or a
  gradient
- border-image-slice: a GtkBorder containing the slice offsets to apply
  on the image
- border-image-repeat: a GtkRepeatType for the image

We deviate from pure CSS3 in the following ways:

* border-image-width is assumed to be always 1, i.e. always equal to
  what's specified by border-width. I don't think it's a particularly
  useful property to have, but we could add it later if needed.
* border-image-outset is absent, as we can't render outside of the
  allocation yet.

https://bugzilla.gnome.org/show_bug.cgi?id=651194
2011-06-09 05:51:54 +02:00
Cosimo Cecchi
9976530fe0 border-image: change Gtk9Slice to GtkBorderImage
It's a similar private type, which is much more powerful, and respects
the CSS rendering specification for border-image.

https://bugzilla.gnome.org/show_bug.cgi?id=651194
2011-06-09 05:51:53 +02:00
Benjamin Otte
e45230ad39 gdk: Make background changes queue a repaint
For client-side windows, we need to queue a repaint when the background
changes. For native windows, the windowing system does take care of it,
but client-side windows are our own, so we gotta do it manually.

https://bugzilla.gnome.org/show_bug.cgi?id=652102
2011-06-09 05:51:53 +02:00
Benjamin Otte
2a4c361831 gdk: Don't set backgrounds on input-only windows
It doesn't make sense to allow a background on input-only windows, so
instead of setting it and then never using it, we just don't ever set
it.
2011-06-09 05:51:53 +02:00
Benjamin Otte
4dbeac9275 toolpalette: Remove composite support
It seems to be very broken wrt input handling, causing random icons to
light up etc.
So until this is fixed, better remove composite support. It only removes
animations, so it's not a big loss for functionality.
2011-06-09 05:51:36 +02:00
Michal Suchanek
a64bc46c9e bgo#652045 - Initialize local_only in GtkFileChooserEntry
This has to be done also when we switch to the entry, otherwise completion for
non-local URIs won't work.
2011-06-08 16:24:48 -05:00
Marek Kašík
f737246a6a Trivial optimisation in GtkPrinterOptionWidget
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-06-08 18:23:11 +01:00
Richard Hughes
a8aeeffb19 Fix 93957459d8
It seems GtkHBox got dropped since my patch was reviewed. Oopsie.
2011-06-08 16:52:43 +01:00
Richard Hughes
93957459d8 Add a GtkPrinterOptionWidget type of INFO to just show informational text from the print backend
This fixes https://bugzilla.gnome.org/show_bug.cgi?id=652103
2011-06-08 16:38:23 +01:00
Javier Jardón
a1ce49c30e gtk: Clean some includes 2011-06-08 15:23:53 +01:00
Javier Jardón
17ae6b2e0d gtk[h/v]box: Recommend the use of GtkGrid. 2011-06-08 13:51:20 +01:00
Matthias Clasen
18c8fe52f0 Don't use GtkAlignments 2011-06-07 22:31:45 -04:00
Matthias Clasen
6176e23b30 Don't use a GtkAlignment 2011-06-07 22:31:34 -04:00
Matthias Clasen
15a4a41b72 GtkFileChooserEntry: don't use a GtkAlignment 2011-06-07 22:17:06 -04:00
Matthias Clasen
3e066e893e Use buttonboxes instead of hbuttonboxes 2011-06-07 22:03:19 -04:00
Matthias Clasen
7d3c5b2763 Drop unneeded includes: gtkalignment.h 2011-06-07 21:53:11 -04:00
Matthias Clasen
4cbbe565b9 Deprecate h/v variants of GtkBox
This has been discussed in bug 541009.
2011-06-07 21:44:24 -04:00
Matthias Clasen
12d3f26d66 Deprecate h/v variants of GtkScale
This has been discussed in bug 541009.
2011-06-07 21:43:32 -04:00
Matthias Clasen
214069caee Deprecate h/v subclasses of GtkPaned
This has been discussed in bug 541009.
2011-06-07 21:40:12 -04:00
Matthias Clasen
d41844c946 Deprecate h/v subclasses of GtkScrollbar
This has been discussed in bug 541009.
2011-06-07 21:38:15 -04:00
Matthias Clasen
00544af8c2 Deprecate h/v subclasses of GtkSeparator
This has been discussed in bug 541009.
2011-06-07 21:35:57 -04:00
Matthias Clasen
fdd324c855 Deprecate h/v buttonbox subclasses
This has been discussed in bug 541009.
2011-06-07 21:32:49 -04:00
Matthias Clasen
d8b3bfe778 Use separators instead of hseparators 2011-06-07 21:29:01 -04:00
Matthias Clasen
41952fd767 More include cleanups 2011-06-07 21:25:20 -04:00
Matthias Clasen
ab3c63cc3a More include cleanups 2011-06-07 21:23:07 -04:00
Matthias Clasen
817e878fb5 More include cleanups 2011-06-07 21:16:00 -04:00
Matthias Clasen
3bdc51164a More include cleanups 2011-06-07 21:12:00 -04:00
Matthias Clasen
b9a59c2ad6 Clean up more includes
Mainly removing unused h/v includes, but also adding some that
will be necessary as replacements.
2011-06-07 20:54:23 -04:00
Matthias Clasen
c134446230 Use boxes instead of hboxes 2011-06-07 19:56:27 -04:00
Matthias Clasen
f32d243bb0 Use boxes instead of hboxes 2011-06-07 19:56:12 -04:00
Matthias Clasen
8389161842 GtkStatusbar: derive from GtkBox, not GtkHBox 2011-06-07 19:55:46 -04:00
Matthias Clasen
ec4b566866 GtkPrinterOptionWidget: derive from GtkBox, not GtkHBox 2011-06-07 19:55:24 -04:00
Matthias Clasen
876cbb7517 GtkInfoBar: derive from GtkBox, not GtkHBox 2011-06-07 19:55:03 -04:00
Matthias Clasen
34085147e9 GtkFileChooserButton: derive from GtkBox, not GtkHBox 2011-06-07 19:54:40 -04:00
Matthias Clasen
29e6646292 docs: fix parameter name mismatches 2011-06-07 19:30:51 -04:00
Matthias Clasen
682296391f tests: Use boxes instead of vboxes 2011-06-07 18:39:15 -04:00
Matthias Clasen
611b0767c0 Use boxes instead of vboxes 2011-06-07 18:38:46 -04:00
Matthias Clasen
cdaaea7017 Use boxes instead of vboxes 2011-06-07 18:38:28 -04:00
Matthias Clasen
44686b63c3 Use boxes instead of vboxes 2011-06-07 18:38:01 -04:00
Matthias Clasen
453849acf3 Add a missing include 2011-06-07 18:37:36 -04:00
Matthias Clasen
5b5c8f23d9 GtkFileChooserDefault: derive from GtkBox, not GtkVBox 2011-06-07 18:36:57 -04:00
Matthias Clasen
88c6fc1d84 GtkFileChooserWidget: derive from GtkBox, not GtkVBox 2011-06-07 18:36:22 -04:00
Matthias Clasen
7c0d51dd5c GtkRecentChooserDefault: derive from GtkBox, not GtkVBox 2011-06-07 18:35:46 -04:00
Matthias Clasen
b1278b9ee2 GtkRecentChooserWidget: derive from GtkBox, not GtkVBox 2011-06-07 18:35:28 -04:00
Matthias Clasen
896540f56b GtkFontSelection: derive from GtkBox, not GtkVBox 2011-06-07 18:34:57 -04:00
Matthias Clasen
5df02faa5f GtkColorSel: derive from GtkBox, not GtkVBox 2011-06-07 18:34:34 -04:00
Matthias Clasen
8a5e1fe543 Don't include gtk.h here 2011-06-07 18:32:48 -04:00
Matthias Clasen
e7f88838f6 Remove an unneeded include 2011-06-07 18:32:24 -04:00
Matthias Clasen
e789a31cf2 GtkPageSetupUnixPrintDialog: remove an unneeded include 2011-06-07 13:16:58 -04:00
Matthias Clasen
310c0d440b GtkPrintUnixDialog: remove an unneeded include 2011-06-07 13:14:42 -04:00
Matthias Clasen
d2c682c9e9 Remove an unneeded include 2011-06-07 13:04:22 -04:00
Matthias Clasen
4962545ef3 GtkPathBar: don't use a GtkAlignment 2011-06-07 13:01:00 -04:00
Javier Jardón
02285b232c gail: Use GdkRGBA instead GdkColor 2011-06-07 17:42:24 +01:00
Matthias Clasen
c26b83a0ea GtkMountOperation: don't use a GtkAlignment 2011-06-07 12:41:10 -04:00
Javier Jardón
d87190f60f docs: Make "migrating to GtkStyleContext" a separate chapter 2011-06-07 17:02:49 +01:00
Matthias Clasen
d4224cd325 GtkGrid: Fix a size allocation problem
We need pay attention the the request mode when doing size allocation.
The code was using request mode for requisition, but orientation
for allocation.

Also add a reftest that exhibits the issue, courtesy of
Benjamin Otte.
2011-06-07 11:05:50 -04:00
Matthias Clasen
eb76287995 GtkAboutDialog: Don't use an alignment
Use align and margin widget properties instead.
2011-06-07 09:53:02 -04:00
Javier Jardón
15a914202d gail/tests: Use const instead G_CONST_RETURN 2011-06-07 14:28:45 +01:00
Javier Jardón
5e2b5680a4 gail: use const instead G_CONST_RETURN 2011-06-07 14:28:45 +01:00
Kjartan Maraas
515499d949 Updated Norwegian bokmål translation 2011-06-07 08:21:30 +02:00
Chun-wei Fan
d07907d2de Update Windows Resource template information 2011-06-07 11:16:57 +08:00
Matthias Clasen
2f7e13067e GtkUnixPrintDialog: Don't use GtkAlignment
It is going to be deprecated soon. Instead, use
widget align and margin properties.
2011-06-06 22:36:39 -04:00
Matthias Clasen
8224287d5c GtkCustomUnixPaperDialog: don't use a GtkAlignment
Those are going to be deprecated sometime soon.
Instead, use widget align and margin properties.
2011-06-06 22:31:31 -04:00
Bastien Nocera
7a0dc3c72d gdk: Update keysyms list from latest X.org headers
Fixed the touchpad on/off keybindings in gnome-settings-daemon.
https://bugzilla.gnome.org/show_bug.cgi?id=651706
2011-06-06 21:15:53 -04:00
Kazuki Iwamoto
74f57ee04d Avoid a crash in gtk_im_context_ime_reset
When GTK+ runs with inputim-ime.dll module, there is NULL
pointer reference. Because "context_ime->client_window" may
be NULL in gtk_im_context_ime_reset.

https://bugzilla.gnome.org/show_bug.cgi?id=644906
2011-06-06 19:33:23 -04:00
Cosimo Cecchi
3ef2e36637 lockbutton: ensure the lock symbolic icon is rendered 16x16px
https://bugzilla.gnome.org/show_bug.cgi?id=651734
2011-06-06 15:12:27 -04:00
Matthias Clasen
68fcede223 Hacky support for combo boxes
This extends the current hacks in gailmenuitem to not only
recognize menuitems with labels in them, but also menuitems
which contain a GtkCellView, since those are used by GtkComboBox
nowadays.

Some of the AtkText apis are not fully supported.

https://bugzilla.gnome.org/show_bug.cgi?id=650302
2011-06-06 13:55:48 -04:00
Vincent Untz
288df3d016 gtksearchenginetracker: Use non-case sensitive search for non-fts search
https://bugzilla.gnome.org/show_bug.cgi?id=642773
2011-06-06 16:39:33 +01:00
Javier Jardón
c5868f05db docs: building: Fix links to the location of tarballs 2011-06-06 14:30:47 +01:00
Javier Jardón
955dbdc042 docs: building: Update links to the location of tarballs
Mention ftp.gtk.org for glib and use download.gnome.org instead
ftp.gnome.org
2011-06-06 14:27:47 +01:00
Javier Jardón
e8f36232de docs: building: Update links to the location of tarballs
Nowadays the tarballs are uploaded to ftp.gnome.org instead ftp.gtk.org
2011-06-06 13:50:33 +01:00
Javier Jardón
15206d85f5 docs: dependencies: Split the list of dependencies
External and non-external
2011-06-06 13:09:52 +01:00
Javier Jardón
1739dab356 docs:building: re-order list of dependencies
Libraries that GTK+ depends on maintained by the GTK+ team first
2011-06-06 12:35:42 +01:00
Javier Jardón
007b718688 docs: building: gz is not used anymore, but xz instead 2011-06-06 12:27:17 +01:00
Javier Jardón
7b0d77def5 gtkcontainer: Move private functions to private header
https://bugzilla.gnome.org/show_bug.cgi?id=651707
2011-06-06 12:10:29 +01:00
Javier Jardón
23dda3ea8e gtkbutton: Move private functions to private header
https://bugzilla.gnome.org/show_bug.cgi?id=651707
2011-06-06 11:58:07 +01:00
Matej Urbančič
7d79486083 Updated Slovenian translation 2011-06-05 22:39:59 +02:00
Benjamin Otte
c6285387e3 widget: Update the font at the right place
Doing it unconditionally is not useful when the subclasses actually
using them can only ever do it in the style_updated signal. So do it in
the style_updated handler instead.
2011-06-04 21:18:09 +02:00
Benjamin Otte
0ba14bb256 paned: Properly hide panes that were set to invisible
Gets rid of random windows when hiding the Totem statusbar.
2011-06-04 21:18:09 +02:00
Javier Jardón
fdf979dce2 gtkwidget: Move private functions to private header
https://bugzilla.gnome.org/show_bug.cgi?id=651707
2011-06-04 14:00:55 +02:00
Matej Urbančič
2144976341 Updated Slovenian translation 2011-06-03 22:17:38 +02:00
Klemen Košir
68e1056bb0 Updated Slovenian translation 2011-06-03 22:15:46 +02:00
Juan Pablo Ugarte
f430a76f10 Fixed bug #576492 "GtkBuilder does not respect G_PARAM_CONSTRUCT properties"
Added G_PARAM_CONSTRUCT flag in gtk_builder_get_parameters() checks as suggested by Johan Dahlin.
2011-06-03 14:38:59 -03:00
Matthias Clasen
6cee81c7b8 gail: Add back get_name for menu items
This was lost when GailItem was nuked. Not having it is leading
to problems, even though randomly poking strings out of your children
seems to be a less than perfect approach to naming...
2011-06-02 23:26:09 -04:00
Javier Jardón
32ef28bc85 Replace gtk_misc_set_padding() with GtkWidget:margin properties
https://bugzilla.gnome.org/show_bug.cgi?id=651605
2011-06-02 18:49:54 +02:00
Javier Jardón
31f53dd8d4 gtkaccellabel: Do not use GET_PRIV macro 2011-06-02 15:10:49 +02:00
Javier Jardón
b8b54cdf3d gtkaccelgroup.c: Do not use GET_PRIV macro 2011-06-02 15:10:49 +02:00
Matthias Clasen
cfffa32d4b gtk-demo: Add an app chooser button demo
Add a 'Mail' app chooser to the 'Pickers' example.
2011-06-01 21:44:22 -04:00
Matthias Clasen
bfa5d367b4 GtkCustomUnixPaperDialog: use an inline toolbar
This makes the dialog more similar to similar patterns,
e.g. in the file chooser.
2011-06-01 21:36:50 -04:00
Benjamin Otte
2e6bb2a0c9 Revert "css: Make font property a shorthand"
The hack in gtk_style_context_get_font() was causing segfaults in
combobox code. This is not acceptable and I'm not awake enough to fix
it, so just reverting until it's fixed sanely is easiest.

This reverts commit cf6bfbdb17.
2011-06-02 02:31:44 +02:00
Benjamin Otte
a659143d55 docs: There is no font-name style property
It's "font"
2011-06-02 02:03:52 +02:00
Benjamin Otte
1845849596 styleproperty: Move resolving code
Also, resolving now always succeeds - if it doesn't we fall back to the
default value right here, instead of later.
2011-06-02 02:03:52 +02:00
Benjamin Otte
cc3afc7c0f Revert "API: Add API to set style properties to be inherit"
Inheritance is now done using style property flags, so thereis no ned
anymore to clobber the pspec flags namespace.
Also, there is no need to expose this functionality in the public API
without exposing more of the styleproperty API.

This essentially reverts commit 9bfd3d2eec.
2011-06-02 02:03:52 +02:00
Benjamin Otte
9f0e993b60 styleproperty: Use the new flags for inheritance
Instead of gtk_style_param_set_inherit()
2011-06-02 02:03:52 +02:00
Benjamin Otte
4feddc6190 styleproperty: Add flags
This allows to set a bunch of specific features, like inheritance in
here, without having to molest the psec.
2011-06-02 02:03:52 +02:00
Benjamin Otte
d59081310b styleproperties: Rename enum value
I want to use that same enum value elsewhere.
2011-06-02 02:03:52 +02:00
Benjamin Otte
fd4ffbb6da styleproperty: Add _gtk_style_property_is_inherit()
And use it instead of gtk_style_param_get_inherit()
2011-06-02 02:03:52 +02:00
Benjamin Otte
abeaad6166 stylecontext: Implement the color getters using the regular API
Has two benefits:
1) Less code
2) I can refactor things
2011-06-02 02:03:52 +02:00
Benjamin Otte
8f6efd00e7 themingengine: Improve junction handling code
As junctions just modify the border radius and we now have a per-corner
border-radius, we can just set the border-radius to 0 for those corners
and get the same effect.
2011-06-02 02:03:52 +02:00
Benjamin Otte
cf6bfbdb17 css: Make font property a shorthand
... and implement the CSS font properties:
- font-size
- font-style
- font-family
- font-weight
- font-variant
2011-06-02 02:03:52 +02:00
Benjamin Otte
8d77fcb2d5 styleproperty: Factor out the string print function
We print strings in lots of places.
2011-06-02 02:03:52 +02:00
Benjamin Otte
b5544f5514 tests: Add tests for font-family 2011-06-02 02:03:52 +02:00
Benjamin Otte
66396d2bab styleproperty: Move default value setting to styleproperty.c 2011-06-02 02:03:52 +02:00
Benjamin Otte
914654901c styleproperties: use property, not pspec as key
This allows calling functions on the style property from more places.
2011-06-02 02:03:52 +02:00
Benjamin Otte
bda86b5dd3 tests: Add a test for border-radius handling 2011-06-02 02:03:52 +02:00
Benjamin Otte
0aa07c6fd6 cssprovider: Remove colors when resetting 2011-06-02 02:03:52 +02:00
Benjamin Otte
a105edbf78 tests: Add a cute demo and test app for the new box css
It contains a live editor for CSS, that thing finds lots of bugs...
2011-06-02 02:03:51 +02:00
Benjamin Otte
2bc0fca209 box: Add RTL support for sibling paths
We want the reverse path when the box is right-to-left.
2011-06-02 02:03:51 +02:00
Benjamin Otte
bdb8c64dd0 reftests: Add a reftest setting all colors to "none" 2011-06-02 02:03:51 +02:00
Benjamin Otte
be71ea611b tests: Add CSS test for the last two bugs
And it's a 1-byte file, too!
2011-06-02 02:03:51 +02:00
Benjamin Otte
b1aa59d385 css: Don't infloop when resyncing over a slash 2011-06-02 02:03:51 +02:00
Benjamin Otte
beccec296b css: We want to unescape backslashes, not slashes 2011-06-02 02:03:51 +02:00
Benjamin Otte
940cdb4a7f stylecontext: Don't crash when colors are "none"
Instead, use their default value (pink).
2011-06-02 02:03:51 +02:00
Benjamin Otte
0d69d9558e css: Match pseudo-classes for siblings 2011-06-02 02:03:51 +02:00
Benjamin Otte
cd838480eb box: Add support for siblings in widget paths of box children 2011-06-02 02:03:51 +02:00
Benjamin Otte
bc9c43c1cb box: Only emit pack-type notify if the pack type really changed
This is not very useful in itself, but the code reorg will be useful
once we do style invalidation.
2011-06-02 02:03:51 +02:00
Benjamin Otte
79de8e4d08 API: Add support for siblings to widget paths 2011-06-02 02:03:51 +02:00
Benjamin Otte
b669efa1a3 docs: Fix typo 2011-06-02 02:03:51 +02:00
Benjamin Otte
67fe600b2e widgetpath: Factor out the element copy function
I'll need that function soon.
2011-06-02 02:03:51 +02:00
Benjamin Otte
f0e5b57699 widgetpath: Use ref/unref in boxed function
This way we avoid lots of copying when using widget paths as properties.

Keeping this as a separate patch so bugs where people were modifying a
structure they shouldn't are easily visible.
2011-06-02 02:03:51 +02:00
Benjamin Otte
03eb4c38c9 widgetpath: Make structure refcounted
I want to use widget paths in a way that make a lot more sense with a
refcounted structure. See the following patches.
2011-06-02 02:03:51 +02:00
Benjamin Otte
91602cca6e themingengine: Add support for the border-radii 2011-06-02 02:03:51 +02:00
Benjamin Otte
90ff426396 css: Add all border-radius properties
Implement all border-radisu properties as specified by
http://www.w3.org/TR/css3-background/#the-border-radius
The end goal here is to get joined buttons to really look joined.
2011-06-02 02:03:51 +02:00
Benjamin Otte
812b32e9e5 styleproperty: Add a helper function for printing doubles
We will want to print doubles more often, so add a little helper
function for it. We cannot use printf() here, because we want English
locale output.
2011-06-02 02:03:51 +02:00
Benjamin Otte
97a07a79f3 styleproperty: Make keybindings use custom parse/print functions
We don't want to use it for GPtrArray.
2011-06-02 02:03:50 +02:00
Benjamin Otte
d14fbf3254 styleproperty: Allow passing in a parse func and a print func
It's not used yet, but it's now possible to specify a custom read or
write func.
2011-06-02 02:03:50 +02:00
Benjamin Otte
715674c45b styleproperty: Rename ParseFunc and PrintFunc typedefs
Rename them to GtkStyleParseFunc and GtkStylePrintFunc, so we can export
them.
2011-06-02 02:03:50 +02:00
Benjamin Otte
d0e1e2b103 css: Move property parsing into styleproperty file
Just shuffles code around for parsing properties.
2011-06-02 02:03:50 +02:00
Benjamin Otte
5a42464547 css: Rename function to _gtk_style_property_parse_value()
... and take an optional style property as argument. This way, we can
allow custom parse functions for properties. The style property needs to
be optional so that we can use it for widget style properties, too.
2011-06-02 02:03:50 +02:00
Benjamin Otte
35488f5846 css: Rename struct variable
I want to add parse_func as something different soon.
2011-06-02 02:03:50 +02:00
Benjamin Otte
3e7f74c456 styleproperty: Change _css_value_to_string()
Name it _gtk_style_property_print_value() and actually pass it the style
property. This way, we can later change it to use custom print functions
for different style properties.
2011-06-02 02:03:50 +02:00
Benjamin Otte
02a9cb5bc0 css: Change to_string() to print()
It's preferrable to print to an existing GString instead of returning a
char* everywhere that needs to be freed later.
2011-06-02 02:03:50 +02:00
Benjamin Otte
43cca78a98 reftests: Test new pseudo-class support in GtkBox 2011-06-02 02:03:50 +02:00
Benjamin Otte
a6daba5e78 API: Change semantics of gtk_container_get_child_path()
Include the child widget path in the returned path now. This allows
customizing the path of the current widgets - like adding flags to child
widgets (and maybe siblings in the future).
2011-06-02 02:03:50 +02:00
Benjamin Otte
b0616c8225 API: Add gtk_widget_path_append_for_widget()
Includes a bunch of header shuffling so we can use GtkWidget* in
gtkwidgetpath.h
2011-06-02 02:03:50 +02:00
Matthias Clasen
60081644ae Silence a theme parser error 2011-06-01 18:40:11 -04:00
Benjamin Otte
352569298a notebook: Implement height_for_width and width_for_height getters 2011-06-02 00:07:25 +02:00
Benjamin Otte
4d78e9c8af notebook: Rewrite size request function for wfh 2011-06-02 00:07:25 +02:00
Benjamin Otte
d7519e6ca2 notebook: Split out tabs size computation into its own function 2011-06-02 00:07:25 +02:00
Benjamin Otte
edd2f24b6e notebook: Compute tab width in a simpler way
This code should be more obvious: The check only needs to check for
scrollable widgets, and only needs to compare to tab_width.

As a side note, for vis_pages == 1, tab_width will be smaller than
tab_max + stuff, so this code will not behave differently.
2011-06-01 21:57:45 +02:00
Benjamin Otte
86aefc2c31 notebook: Remove uneeded function declaration 2011-06-01 21:45:21 +02:00
Benjamin Otte
975f735fb7 notebook: Include arrow size in tab size computation
We don't want tabs to resize when a 2nd page is added, just because the
scroll arrows are now visible. And we do want the arrow size to be
included.

Note: Previosuly this code was never run, as the check
  requisition->width < tab_width
was only run when tab_width wasn't computed, so was still equal to 0
(same for the height). So what this patch essentially does it add the
functionality of the if switch.
2011-06-01 17:46:22 +02:00
Benjamin Otte
2108e42306 tests: Make variable const to silence gcc 2011-06-01 16:52:34 +02:00
Javier Jardón
37bade27f5 configure.ac: Use AS_HELP_STRING instead deprecated AC_HELP_STRING 2011-06-01 13:43:18 +02:00
Matthias Clasen
1371a86fb1 GtkLabel: Make selection behave more similar to GtkEntry
For shift-clicks inside the selection, shrink the selection.
https://bugzilla.gnome.org/show_bug.cgi?id=353712
2011-06-01 01:08:13 -04:00
Matthias Clasen
4cd9009c57 Trivial NULL vs 0 confusion 2011-06-01 00:05:06 -04:00
Matthias Clasen
c56150ea5b Fix an example 2011-05-31 23:50:13 -04:00
Matthias Clasen
2833cc2327 Change GtkTreePath to grow exponentially
To avoid quadratic behaviour when building up
paths by repeated appending indices. Bug 634491.
2011-05-31 22:10:58 -04:00
Matthias Clasen
906292541a Add tests for GtkTreePath 2011-05-31 22:10:40 -04:00
Matthias Clasen
1c261fe2ae GtkSearchEngineTracker: avoid an unused variable warning 2011-05-31 21:26:40 -04:00
Matthias Clasen
949125b56b Make tracker search engine less verbose
Patch by Vincent Untz,
https://bugzilla.gnome.org/show_bug.cgi?id=642768
2011-05-31 20:50:42 -04:00
Matthias Clasen
0b9cd78017 Add annotations to gtk_css_provider_load_from_data
https://bugzilla.gnome.org/show_bug.cgi?id=646859
2011-05-31 20:37:43 -04:00
Matthias Clasen
5abadc6d95 GtkIconTheme: a small optimization
John Lindgren points out in bug 650202 that using judicious
use of g_key_file_has_key() can save some cycles in application
startup.
2011-05-31 20:29:53 -04:00
Matthias Clasen
0705474be6 GtkEntry: don't forget to disconnect idles
As pointed out by John Lindgren in bug 650114, GtkEntry forgets
to disconnect an idle source when the completion is set to NULL.
2011-05-31 20:11:28 -04:00
Alexander Saprykin
8d9f413c9b gtkeditable.c: Remove unused variable in example code
https://bugzilla.gnome.org/show_bug.cgi?id=650167
2011-05-31 20:09:58 -04:00
Matthias Clasen
7ef362ec67 GtkEntryCompletion: add a sanity check
Patch by John Lindgren,
https://bugzilla.gnome.org/show_bug.cgi?id=650110
2011-05-31 20:07:14 -04:00
Diego Celix
7839c27e13 gtk/gtkcolorsel: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcolorsel.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:43 -04:00
Diego Celix
95fd3d708d gtk/gtknotebook: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtknotebook.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:42 -04:00
Diego Celix
d291709ee7 gtkcustompaperunixdialog: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkcustompaperunixdialog.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:41 -04:00
Diego Celix
ee18c5fef3 gtk/gtkfilechooserbutton: gtk_misc_set_alignment
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkfilechooserbutton.c

https://bugzilla.gnome.org/show_bug.cgi?id=650762
2011-05-31 20:02:39 -04:00
Matthias Clasen
ab6e3366bc GtkAppChooser: improve docs
Add a cross-reference to GContentType.
https://bugzilla.gnome.org/show_bug.cgi?id=650012
2011-05-31 20:00:50 -04:00
Matthias Clasen
80a7e21e6a Make cross-references to gio docs work 2011-05-31 20:00:11 -04:00
Matthias Clasen
8143ce69eb GtkApplication: Add window-added/-removed signals
This is useful to let unrelated parts of an application (or
plugins) learn about the windows of an application. Based
on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=641087
2011-05-31 19:12:13 -04:00
Matthias Clasen
75390b2d60 Sort GtkApplication windows by most-recently-focused
Based on a patch by Matt Barnes,
https://bugzilla.gnome.org/show_bug.cgi?id=624539
2011-05-31 18:28:55 -04:00
Cosimo Cecchi
5b4932adaa gtk-demo: don't use a non-existent icon name 2011-05-31 17:54:24 -04:00
Javier Jardón
fb9e4c2c37 all: avoid boxed structs copying where possible (and 2)
Use the GtkStyleContext accessors for boxed properties where possible,
to reduce allocations.
2011-05-31 19:18:11 +02:00
Javier Jardón
e5c7daa828 tests: avoid boxed structs copying where possible
Use the GtkStyleContext accessors for boxed properties where possible,
to reduce allocations.
2011-05-31 19:12:24 +02:00
Carlos Garnacho
20433efbfa gtkcssprovider: Free shorthand border GValues in the right place
The call to gtk_border_free() within unpack_border() felt completely
in the wrong place, as the border actually pertains to the GValue
being unpacked. Plus, the GValue itself was also being leaked.
2011-05-30 19:29:22 +02:00
Carlos Garnacho
2c8e01dc80 gtkcssprovider: plug several leaks
In finalize(), clear all rulesets.
In parse_declaration(), Free the GValue under unhandled error situations.
In gtk_css_provider_load_internal(), Do not leak the file contents.
2011-05-30 19:26:28 +02:00
Carlos Garnacho
de4ca3ae13 gtkstyleproperty: Plug two leaks
In rgba_value_parse(), unref the symbolic color once we've resolved it.
In gradient_value_parse(), take the GtkGradient so we leave no dangling
references.
2011-05-30 19:21:42 +02:00
Carlos Garnacho
b68172b2c6 gtkstyleproperties: zero GValue out before using G_VALUE_COLLECT_INIT()
Fixes invalid reads in valgrind
2011-05-30 19:18:41 +02:00
Carlos Garnacho
747dc65c2c gtkcssprovider: Use g_slice_dup() to copy GValues around
GValues stored in GtkCssRulesets are gslice managed, so don't
g_memdup() GValues from shorthand properties. This fixes
memory corruptions when reloading contents in a GtkCssProvider.
2011-05-30 19:13:36 +02:00
Carles Ferrando
7a730ae213 [l10n]Updated Catalan (Valencian) translation 2011-05-29 14:10:00 +02:00
Carles Ferrando
0ce123c7c3 [l10n]Updated Catalan (Valencian) translation 2011-05-29 14:09:36 +02:00
Kristjan SCHMIDT
4216780ddd Updated Esperanto translation 2011-05-28 14:32:09 +02:00
Benjamin Otte
3500063bc1 liststore: Replace macro with an inline function
Also remove a duplicate check in gtk_list_store_iter_is_valid().

gcc was complaining about "comparison always true" when using the macro.
2011-05-27 16:11:10 +02:00
Benjamin Otte
0b653abcd4 styleproperties: Remove unused priv variables 2011-05-27 16:11:10 +02:00
Benjamin Otte
c5af8c7e3a treeview: Remove unused variables
... and all the code doing complex computations to assign values to
them.
2011-05-27 16:11:10 +02:00
Benjamin Otte
c1b2cbcf50 button: Remove unused variables 2011-05-27 16:11:10 +02:00
Benjamin Otte
d46deb35b2 docs: Remove unused variables in shooter example 2011-05-27 16:11:09 +02:00
Benjamin Otte
b3ec31f8b6 gtk-demo: Don't store anchor in an unused variable 2011-05-27 16:11:09 +02:00
Benjamin Otte
f6ee34c8b1 gtk-demo: Remove unused variable for text tags 2011-05-27 16:11:09 +02:00
Benjamin Otte
2881930e68 tests: Remove unused variables 2011-05-27 16:11:09 +02:00
Benjamin Otte
8c4653c4f2 tests: Make forcing of class registers work without gcc warnings 2011-05-27 16:11:09 +02:00
Benjamin Otte
d1a8d73871 css: Constify path argument to _css_selector_matches()
It should have been const all the time, but I assumed widgetpath code
wasn't properly const. PEBKAC.
2011-05-27 16:11:09 +02:00
Benjamin Otte
f4b7b287b9 widgetpath: Make includes absolute
Just like everywhere else
2011-05-27 16:11:09 +02:00
Benjamin Otte
f6ffd6df8a menuitem: Remove unused variable
Seriously, can't people compile with -Werror? Broke with
5f2ef59d69
2011-05-27 16:11:09 +02:00
Benjamin Otte
7b94a6ff2f styleproperty: Fix memleak in unpacking code 2011-05-27 16:11:09 +02:00
Benjamin Otte
f4e730e718 menuitem: Fix copy/paste error
Thanks to Kalev Lember for noticing this one.
2011-05-27 16:11:09 +02:00
Carlos Garnacho
e89d6b8741 configure: Check for XGetEventData()
This is a call only available in recent libX11, only the XI2 code
depends on this within GDK, but XI2 implies having GenericEvents
available too.
2011-05-27 11:53:26 +02:00
Carlos Garnacho
3285605c54 gdk: do not fallback to event->xany.window in GdkEventTranslator
This is already done in gdk_event_source_get_filter_window(), and
could lead to wrong event assignment if an event translator happens
to return a window for an event it doesn't handle.
2011-05-27 11:53:04 +02:00
Matthias Clasen
2c192cf998 Cut deadwood
The old tutorial examples haven't been built in years, and are
not useful to keep around in git unless somebody does the work
to integrate them into the 'Getting started' section of the
current docs.
2011-05-26 13:15:40 -04:00
Florian Müllner
76278811b6 configure: Fix build of pixbuf-demo 2011-05-26 15:03:21 +02:00
Matthias Clasen
cf86c7c9bb Move demos around
The pixbuf-demo gets its own subdirectory, the other small
tests move from demos/ to tests/.
2011-05-26 00:32:31 -04:00
Matthias Clasen
6499d89a6e And actually delete it 2011-05-26 00:21:54 -04:00
Matthias Clasen
5a6bfa2674 Remove no-longer-needed pixbuf_init hack
Since gdk-pixbuf is now a separate project again, we no
longer need to locate it inside our source tree.
2011-05-26 00:20:59 -04:00
Matthias Clasen
7f6e51ba2f Remove an incomplete, dead copy of testgtk 2011-05-26 00:08:43 -04:00
Matthias Clasen
9fd0458f1c Simplify GtkLockButton
Now it is actually just a button, which makes things simpler
and is closer to what the designers want.
2011-05-25 20:19:08 -04:00
Benjamin Otte
5f2ef59d69 menuitem: Position submenus properly
Now that we can actually query the menu's size, don't query the
preferred minimum size and hope it's correct, but use its actual size.
2011-05-25 04:49:12 +02:00
Benjamin Otte
067dc19177 menu: Realize window before positioning
We want the menu realized so we know the size it's allocating to itself.
And we need that size to position the menu properly.
This is best visible on right-to-left.
2011-05-25 04:48:20 +02:00
Benjamin Otte
8cfcb2c123 paned: More fixes to keep windows in sync with widgets
Fixes sidebar in evince not showing up. This was caused by the
visiblility of the widget changing and the paned not fixing its child
window's visibility accordingly.
2011-05-25 04:27:15 +02:00
Kjell Ahlstedt
2ebe1ef6f2 bgo#642929 - Don't infinite-loop in GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
If the user pressed Enter to confirm the file chooser while the filename entry
was empty, then gtk_file_chooser_default_should_respond() would go back and forth
between the cases for handling the filename entry and the file list.
2011-05-23 15:02:00 -05:00
Benjamin Otte
a21042c156 tests: Add simple CSS test for widget style properties 2011-05-23 15:56:09 +02:00
Benjamin Otte
7de5a4e08d cssprovider: Don't convert widget style properties to CSS
They are still CSS, so converting them is wrong.
2011-05-23 15:56:09 +02:00
Benjamin Otte
7836df29cb cssprovider: Use right hash table when printing
If the CSS provider had widget style properties, printing them would
crash since 82b340f6f0
2011-05-23 15:56:09 +02:00
Benjamin Otte
97a8ff80cc window: Only draw resize grip if its window exists
Don't rely on priv->resize_grip_visible as the code comment in the
variable declaration indicates.
This fixes warnings with GtkPlug, which can cause resize_grip_visible to
be TRUE but grid_window to be NULL - running tests/teststatusicon
reproduces this.

This broke with 7ef113ce56
2011-05-23 15:56:09 +02:00
Matthias Clasen
f30efa7759 Remove unused function attributes from symbol files 2011-05-22 23:39:48 -04:00
Kristian Rietveld
cd3896e10e quartz: actually register gdk_quartz_display_dispose 2011-05-22 12:29:37 +02:00
Kristian Rietveld
dfff35423f quartz: fix a typo 2011-05-22 12:27:38 +02:00
Benjamin Otte
4c6721d096 cssparser: Fix typo where we used "uint" for a type
Interestingly this works for gcc, but breaks on MSVC.
2011-05-22 06:07:45 +02:00
Benjamin Otte
21236cf270 style: Make margin a shorthand
... and add the real properties:
- margin-top
- margin-left
- margin-bottom
- margin-right
2011-05-22 05:56:12 +02:00
Benjamin Otte
a35aa96149 style: Make padding a shorthand
... and add the real properties:
- padding-top
- padding-left
- padding-bottom
- padding-right
2011-05-22 05:56:12 +02:00
Benjamin Otte
0c7e5a51f3 reftests: sort EXTRA_DIST in Makefile 2011-05-22 05:56:12 +02:00
Benjamin Otte
4d92835997 reftests: Add a reftest to check shorthands do work
Checks shorthands are properly unpacked in the CSS and that they indeed
set all relevant properties. Or at least border-width does.
2011-05-22 05:56:12 +02:00
Benjamin Otte
ef51b5be76 reftests: Add label-shadows test
Tests shadows work properly for rotated labels
2011-05-22 05:56:12 +02:00
Benjamin Otte
962ecc6fa5 shadow: Redo shadow implementation for rotations
The shadows went bonkers when the labels were rotated
2011-05-22 05:56:12 +02:00
Benjamin Otte
ec34c4bd83 themingeninge: Handle translations properly
We want to keep the location of where to render, but transform th
context by the pango transform.
2011-05-22 05:56:12 +02:00
Benjamin Otte
03fbb1f34f label: Account for y-translation when rotating 2011-05-22 05:56:11 +02:00
Benjamin Otte
bd610582b8 tests: Add parser test for shorthands 2011-05-22 05:56:11 +02:00
Benjamin Otte
f5c7cefcca style: Convert border-width to a shorthand
Add the corresponding properties it refers to, too:
- border-top-width
- border-left-width
- border-bottom-width
- border-right-width
2011-05-22 05:56:11 +02:00
Benjamin Otte
42a4bd1c5b style: Add support for shorthand properties
Shorthand properties are basically the same a in CSS. For storage in
style properties or the CSS provider, they are unpacked into the real
values, so it is possible to partially override them.

No properties are yet converted to the new world yet, this is just the
code for supporting them.
2011-05-22 01:25:17 +02:00
Benjamin Otte
70e654f1a5 stylepropertis: Use set_by_property() in set_valist()
... instead of duplicating code. This causes an extra g_value_copy().
If that turns out to be a performance issue, we can invent something
that handles this (like passing a gboolean take_value).

The reason for this duplication deletion is that we want to complicate
the setting code to handle shorthands by unpacking them and storing the
separate values.
2011-05-22 01:25:16 +02:00
Benjamin Otte
73c39f5b16 styleproperties: Add _gtk_style_properties_set_property_by_property()
... as a replacement for _gtk_style_properties_set_property_by_pspec().
We'll need that to handle shorthands.
2011-05-22 01:25:16 +02:00
Benjamin Otte
b67ae42ecd styleproperties: Use peek_property() in get_valist() 2011-05-22 01:23:43 +02:00
Benjamin Otte
0a368fe622 styleproperties: Validate values when setting them
Note that validation is not necessary when resolving, because all values
are valid for those cases.
2011-05-22 01:23:36 +02:00
Benjamin Otte
e7db090620 styleproperties: Remove needless check 2011-05-21 22:49:43 +02:00
Benjamin Otte
b889f499a7 styleproperties: Use peek_property in get_property
... instead of duplicating the code.
2011-05-21 22:49:43 +02:00
Benjamin Otte
5f5cc79623 styleproperties: Adapt _gtk_style_properties_peek_property()
Optionally return the GtkStyleProperty that was looked up. This feature
isn't used yet, but will soon be.
2011-05-21 22:49:43 +02:00
Benjamin Otte
727a839d71 styleproperties: Move the style property handling code
... from gtkstyleproperties.c to gtkstyleproperty.c
2011-05-21 22:49:43 +02:00
Benjamin Otte
5eca8f8275 css: Rename gtkcssstrfuncs file to gtkstyleproperty
The idea is to handle the style property registering etc in this file
instead of the styleproperties file. The next commits will move those
files.
2011-05-21 22:49:43 +02:00
Benjamin Otte
e64b220791 stringfuncs: Remove _gtk_css_parse_url() from header
No code changes, just moving the function in the c file so it doesn't
need to be forward-declared.
2011-05-21 22:49:43 +02:00
Benjamin Otte
548a1302ee cssprovider: Use _gtk_style_property_lookup()
This way we get the actual data node and can use it.
2011-05-21 22:49:43 +02:00
Benjamin Otte
777a6846db styleproperties: Put gtk_style_property_lookup() in private header 2011-05-21 22:49:43 +02:00
Benjamin Otte
0f211f78a5 styleproperties: Class ref no longer necessary
Now that we initialize the pspecs on-demand, we can avoid the class ref.
2011-05-21 22:49:43 +02:00
Benjamin Otte
85e900b522 styleproperties: Init the default properties when they're needed
Instead of initing the default style properties in the class_init
func of the style properties, init them when they are first needed -
when they are queried or when new ones are registered.

That way, they will always be available.
2011-05-21 22:49:42 +02:00
Benjamin Otte
a2200e8971 styleproperties: constify gtk_style_property_lookup() 2011-05-21 22:49:42 +02:00
Benjamin Otte
1bd065fa4d styleproperties: Rename the storage struct for style pspecs
PropertyNode => GtkStyleProperty
2011-05-21 22:49:42 +02:00
Benjamin Otte
d7c9d8ce15 tests: Add forgotten file
File was forgotten in 8fd6bd323c
2011-05-21 22:48:52 +02:00
Diego Celix
ea79cd4314 gtk/gtkstatusbar: gtk_misc_set_alignment replacing
Replacing the function gtk_misc_set_alignment () with
gtk_widget_set_halign () and gtk_widget_set_valign () in
gtk/gtkstatusbar.c

https://bugzilla.gnome.org/show_bug.cgi?id=650664
2011-05-21 09:16:00 -04:00
Matthias Clasen
e578489579 Allow NULL permissions
This is useful in some scenarios.
2011-05-21 09:12:40 -04:00
Benjamin Otte
d333911d30 docs: Add missing <row> 2011-05-21 03:41:52 +02:00
Cosimo Cecchi
8c65d9181d themingengine: use the text-shadow property to render text shadow
This also avoids hardcoding a shadow for insensitive text in the engine,
as it can now be applied from the theme directly.

https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:49:54 -04:00
Cosimo Cecchi
73e0070774 shadow: add a method to paint the shadow for a PangoLayout
https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:49:54 -04:00
Cosimo Cecchi
c3f3e4a670 styleproperties: resolve properties of type GTK_TYPE_SHADOW
https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:49:50 -04:00
Cosimo Cecchi
016f540931 styleproperties: add a "text-shadow" style property
And document its use in the CSS parser gtk-doc.

https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:44:15 -04:00
Cosimo Cecchi
5b6253252e css: add a parser for GTK_TYPE_SHADOW properties
https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:44:12 -04:00
Cosimo Cecchi
fcc78bedc8 shadow: add a GtkShadow private type
This will be used as a base both for parsing text-shadow and box-shadow
properties. The type is private, as there's no real use in exporting
this in a public API.

https://bugzilla.gnome.org/show_bug.cgi?id=649314
2011-05-20 18:44:07 -04:00
Cosimo Cecchi
8301b24ee5 assistant: pack the sidebar in a frame instead of an event box
This has mostly two advantages:
- the most obvious one is the theme can render a border around the
  sidebar if it wants to.
- we also can avoid hardcoding a container border width for the sidebar,
  and just use a padding from the theme. This also allows different
  themes to define a different padding, etc.

The drawback is we must draw the background ourselves, but it's easy
enough.

https://bugzilla.gnome.org/show_bug.cgi?id=650530
2011-05-19 10:54:04 -04:00
Cosimo Cecchi
6bbb9d6f15 assistant: remove an useless gtk_widget_reset_style() call
It's not needed to call _reset_style() here, as we did not add the
widget to the parent container yet.

https://bugzilla.gnome.org/show_bug.cgi?id=650530
2011-05-19 10:54:01 -04:00
Benjamin Otte
3ecb308e56 menu: Only realize menu if it isn't realized yet
Lots of code calls gtk_menu_popup() and we don't want to resize the
window needlessly.
In this particular case, keyboard navigation to submenus caused those
submenus to shrink.

Note: I'm not sure this fix doesn't have nasty side effects, as I'm not
a specialist on menu popup code, so if it does, we'll need to revert it.
Until then, let's keep it, it fixes a bug.
2011-05-19 13:04:19 +02:00
Benjamin Otte
7a0600644c tests: Add missing CSS test 2011-05-19 03:16:03 +02:00
Carlos Garnacho
1b53741e4c gdk: Document gdk_window_add_filter()+XGenericEvents behavior 2011-05-18 22:34:33 +02:00
Carlos Garnacho
a529568f79 gdk: Get the right filter window for XI2 events
GdkDeviceManagerXI2 now implements GdkEventTranslator::get_window,
retrieving the right window from the contained XIEvent.
2011-05-18 22:34:33 +02:00
Carlos Garnacho
55cc9f3339 gdk: Add _gdk_x11_event_translator_get_window()
This method can be implemented by event translators so they
return the right window from XGenericEventCookie events, as
ev->xany.window isn't meaningful for these.

GdkEventSource now also uses this to find out the right window
filters to apply.
2011-05-18 22:34:33 +02:00
Carlos Garnacho
53d77a829a gdk: Move XGetEventData() call to GdkEventSource
This function should be called just once across every possible
event translator and GdkFilterFunc that wants to deal with
any cookie event.
2011-05-18 22:34:32 +02:00
Benjamin Otte
3410b14751 mac keys: Add a missing semicolon 2011-05-18 22:17:59 +02:00
Benjamin Otte
c3701c737c keys.css: Remove semicolons at end of rules
This is not CSS conform (it will break resync code after errors for
generic CSS parsers), so I deprecated the support for that semicolon.
2011-05-18 22:17:59 +02:00
Cosimo Cecchi
d392af2e36 reftests: Check that inherited properties work 2011-05-18 22:17:59 +02:00
Benjamin Otte
a1858c5454 cssprovider: When loading themes, don't pass in an error
We want to parse existing themes as well as possible instead of failing.
And the g_warning() is preserved.
2011-05-18 22:17:59 +02:00
Benjamin Otte
17e3d6f85e cssprovider: Don't propagate deprecation messages to passed-in error
It's an informative message, don't stop parsing the CSS because of it.
2011-05-18 22:17:59 +02:00
Benjamin Otte
d2ef71627b css: Make property parsing functions take a css parser
Instead of reading a string and then passing that in, let the parse
functions use the full power of the parser.
2011-05-18 22:17:59 +02:00
Benjamin Otte
03e84b7ee3 css: Move binding set parsing to strfuncs 2011-05-18 22:17:59 +02:00
Benjamin Otte
c73d1cf2a6 cssstringfuncs: Read colors as symbolic colors always
... and then try to resolve them, so static colors get resolved in
advance, just like it was before.
2011-05-18 22:17:58 +02:00
Benjamin Otte
9e18d8b448 symboliccolor: Allow props == NULL when resolving
If props == NULL in gtk_symbolic_color_resolve(), fail sanely for named
colors. The docs used to say it was not allowed to pass NULL for named
color, but that had problems:
1) You do not know if a color was created that way. This is especially
   hard for generic users (like language bindings).
2) It wasn't even true. Colors using other symbolic colors would also
   fail when trying to resolve their named colors, but the docs didn't
   say so.
And because I want to use the function to resolve static colors early
where possible, I changed things.
2011-05-18 22:17:58 +02:00
Benjamin Otte
8111d99183 cssprovider: Cache if rulesets have inheritable style properties
This provides a huge speedup as we only need to preprocess style
properties when they are indeed inherited. This roughly doubles the
performance of the CSS matcher and brings the time taken by
gtk_css_provider_get_style() from 19% to 7% in my favorite benchmark.
2011-05-18 22:17:58 +02:00
Benjamin Otte
82b340f6f0 cssprovider: Keep two hash tables per ruleset
One for the style properties, one for the widget style properties.
This way we can make one hash table by pspec which means we don't have
to repeat the pspec lookup.
2011-05-18 22:17:58 +02:00
Benjamin Otte
399a439103 cssprovider: Add a new setter for rulesets
We now have set-by-pspec (which is used for normal style properties) and
set-by-name (which is used by widget properties).
2011-05-18 22:17:58 +02:00
Benjamin Otte
0318ab2ce1 cssprovider: Refactor handling of rulesets
Keep rulesets as an on-stack/heap structure instead of allocating all
instances separately.
Also, pass a ruleset to the ruleset parser, so we can make the ruleset
parser do lots of fancy things that might be useful for performance.
2011-05-18 22:17:58 +02:00
Benjamin Otte
151294576d cssprovider: Refactor code to have a gtk_css_ruleset_matches() 2011-05-18 22:17:58 +02:00
Benjamin Otte
71c748b47e cssprovider: Rename "SelectorStyleInfo" to "Ruleset"
No code changes, just clarification of the name
2011-05-18 22:17:58 +02:00
Benjamin Otte
b37f9fdf81 css: Implement inherit properties
Huge performance hit (slows down things roughly by a factor of 3), but
necessary for CSS conformance and for implementing "inherit" and
percentages.
2011-05-18 22:17:58 +02:00
Benjamin Otte
25c396409c reftests: Check style property order
Ensure that style properties are read in the correct order, by having a
property twice with vastly different values.
2011-05-18 22:17:58 +02:00
Benjamin Otte
c1dc3e9372 css: Refactor code to do property lookups earlier
We want to ook up the property in the CSS parser, so we can do fancy
things with it. We currently don't but we want to later.
2011-05-18 22:17:57 +02:00
Benjamin Otte
82399bf457 styleproperties: Speed up by not optimizing
g_quark_try_string() takes a lock and then does a hashtable lookup. So
just using a string hash table for properties is faster.
2011-05-18 22:17:57 +02:00
Benjamin Otte
4c92fb2b5d styleproperties: Speed up style_property_lookup()
Use the already existing bsearch version instead of iterating the array
manually.
2011-05-18 22:17:57 +02:00
Benjamin Otte
beba515243 styleproperties: Use the pspec as the hash table key
The code used the quarked name before, but when we already have the
pspec we want to have a lookup that does not involve quarking. And
lookup is equally fast if we only have the name.
2011-05-18 22:17:57 +02:00
Benjamin Otte
d6f0042773 css: Make _gtk_css_selector_matches() take a path length
This will be necessary when handling inherit.
2011-05-18 22:17:57 +02:00
Benjamin Otte
08e83ca66b cssprovider: Simplify code
Don't go through an intermediate array when matching styles.
2011-05-18 22:17:57 +02:00
Benjamin Otte
f04f943708 styleproperties: Mark "color" and "font" as inherit
Keeping it identical to CSS 2.1 again
2011-05-18 22:17:57 +02:00
Benjamin Otte
9bfd3d2eec API: Add API to set style properties to be inherit
The API is not used anywhere yet.
2011-05-18 22:17:57 +02:00
Benjamin Otte
8605a2a10a cssprovider: Speed up gtk_widget_style_get() property lookups
Previously we got the list of all matching rules and then iterated it to
find the first one that had the property. Now we look while matching
rules, so we don't lookup rules that we don't need.
2011-05-18 22:17:57 +02:00
Benjamin Otte
d3c60cc89c css: Don't query type for regions
Regions are regions and don't match by type.
2011-05-18 22:17:57 +02:00
Benjamin Otte
1400644069 reftests: Add a test ensuring selectors don't match children
Previously, the selector "Foo" would not only match Foo widgets, but
also all widgets that are descendants of Foo.
2011-05-18 22:17:57 +02:00
Benjamin Otte
f3ed498c5b reftests: Add a test for descendant CSS selectors match
In widget hierarchy like "Foo Bar Bar Baz", we want the selector "Foo >
Bar Baz" to match, because it matches the elements 1, 2 and 4.
Previously, the selector only matches the Bar at position 3 and then
failed because it wasn't preceded by a Foo.
2011-05-18 22:17:56 +02:00
Benjamin Otte
806c804271 reftests: Add a test that checks that * matches regions 2011-05-18 22:17:56 +02:00
Benjamin Otte
dda83e2f98 reftests: Unset background-image in CSS of test
Otherwise the test screws up when it's set
2011-05-18 22:17:56 +02:00
Benjamin Otte
b8eac1e130 reftests: Add a check for matching regions only once 2011-05-18 22:17:56 +02:00
Benjamin Otte
710caeb512 tests: Add a test for enum values 2011-05-18 22:17:56 +02:00
Benjamin Otte
619d344d8d css: Raised SYNTAX error when enum value can't be parsed 2011-05-18 22:17:56 +02:00
Benjamin Otte
8ca799cc39 reftests: Add a test for matching by class 2011-05-18 22:17:56 +02:00
Benjamin Otte
78de3e8180 reftests: Add a test for matching by name 2011-05-18 22:17:56 +02:00
Benjamin Otte
269fe0f347 reftests: Add a test for matching by subtype 2011-05-18 22:17:56 +02:00
Benjamin Otte
90caef4abe reftests: Add test to check that matching by type works 2011-05-18 22:17:56 +02:00
Benjamin Otte
174cfff50f tests: Add a test to ensure we handle unknown pseudo-classes correctly
1) We want to throw an unknown value
2) We want to skip the whole rule
2011-05-18 22:17:56 +02:00
Benjamin Otte
e7aa125eb0 tests: Add a test for all selector combination
The test contains an error where we complain about a duplicate value for
":hover:hover"
2011-05-18 22:17:56 +02:00
Benjamin Otte
e875c619ef css: No more special code for regions
Just treat regions the same as elements.
2011-05-18 22:17:55 +02:00
Benjamin Otte
fc88b0f47c css: Rewrite selectors
Selectors now go into their own C file. The new selectors are modeled a
lot closer to the CSS spec. In particular the specificity computation
matches CSS 2.1 exactly.

For details about the why, see also:
http://mail.gnome.org/archives/gtk-devel-list/2011-May/msg00061.html
https://bugzilla.gnome.org/show_bug.cgi?id=649798
2011-05-18 22:17:55 +02:00
Benjamin Otte
4e2d3f5d18 cssprovider: Remove a bunch of commented-out code
The code was only kept for reference while writing the new parser, it's
not necessary anhymore.
2011-05-18 22:17:55 +02:00
Benjamin Otte
ce44c95ce8 tests: Be more verbose in error messages.
Also, it makes it easier to copy/paste diffs from the message log...
2011-05-18 22:17:55 +02:00
Benjamin Otte
dd78ab5a2f tests: Add test that ensures we properly parse the color red 2011-05-18 22:17:55 +02:00
Benjamin Otte
42fb004dfc tests: Add another parsing test from the css spec 2011-05-18 22:17:55 +02:00
Benjamin Otte
3f07482b10 tests: Add parsing test from the css spec 2011-05-18 22:17:55 +02:00
Benjamin Otte
2b807e574d tests: Make the parser fail without assertions
Use the new g_test_fail() function. This way, the testsuite usually
doesn't crash, but actually finishes.
2011-05-18 22:17:55 +02:00
Benjamin Otte
7ccb9db79e css: Rewrite the parser
Instead of relying on GScanner and its idea of syntax, code up a parser
that obeys the CSS spec.
This also has the great side effect of reporting correct line numbers
and positions.

Also included is a reorganization of the returned error values. Instead
of error values describing what type of syntax error was returned, the
code just returns SYNTAX_ERROR. Other messages exist for when actual
values don't work or when errors shouldn't be fatal due to backwards
compatibility.
2011-05-18 22:17:55 +02:00
Benjamin Otte
058bbb2aec tests: Add a test for importing nonexistant files 2011-05-18 21:58:47 +02:00
Benjamin Otte
c7ef2225b7 tests: Add tests for cyclic imports 2011-05-18 21:58:47 +02:00
Benjamin Otte
427c97a635 tests: Add test for recursively importing an identical file 2011-05-18 21:58:46 +02:00
Benjamin Otte
e1dda3d03f cssprovider: Don't hardcode strings anymore 2011-05-18 21:58:46 +02:00
Benjamin Otte
cec2875d36 cssprovider: Add support for strings 2011-05-18 21:58:46 +02:00
Benjamin Otte
2a0ac6d102 cssprovider: Parse strings as identifiers when parsing property values 2011-05-18 21:58:46 +02:00
Benjamin Otte
6b66efe873 cssprovider: Add recursion checks for @import
This is pretty important, because otherwise recursions cause crashes.
And if you accidentally change your theme to one that crashes on load,
all your gonna SEGV and then on reboot, gdm tries to load the theme...
2011-05-18 21:58:46 +02:00
Benjamin Otte
22492a37c1 cssprovider: Allow storing the parent stylesheet 2011-05-18 21:58:46 +02:00
Benjamin Otte
286b5b9b72 cssprovider: Don't fail if an import doesn't work 2011-05-18 21:58:46 +02:00
Benjamin Otte
d6c6a0bcc0 cssprovider: Reimplement gtk_css_provider_load_from_path()
Call gtk_css_provider_load_from_file() instead of the internal function.
This has two advantages:
1) It simplifies the code a lot
2) It gets rid of GMappedFile usage. GMappedFile does not work
   everywhere, so this is finally portable.
2011-05-18 21:58:46 +02:00
Benjamin Otte
b0d3078aa7 cssprovider: Make @import use the new load_internal() func 2011-05-18 21:58:46 +02:00
Benjamin Otte
a183375b94 cssprovider: Make load_internal() load the contents
This way, we achieve two things:
1) We can unify file loading to one location
2) We can emit the error from file loading using the parsing-error
   signal. This is very useful for @import handling in particular.
2011-05-18 21:58:46 +02:00
Benjamin Otte
5bedc822ec cssprovider: Introduce gtk_css_provider_take_error_full()
Emits the error without the need for a scanner. Also simplifies
gtk_css_provider_take_error() because we now can assert an available
scanner at all times.
2011-05-18 21:58:46 +02:00
Benjamin Otte
f937d0275a cssprovider: More error handling into load_internal()
Now the parsing functions starting at parse_stylesheet() don't have to
care about errors anymore.
2011-05-18 21:58:46 +02:00
Benjamin Otte
da52175013 cssprovider: Add a load_internal function that all loads chain to 2011-05-18 21:58:46 +02:00
Benjamin Otte
77b40f2dcd tests: Order files by name before adding them as tests
Ensures that the order of tests is not dependant on your hard disk.
2011-05-18 21:58:46 +02:00
Benjamin Otte
5cf6a8a23f cssprovider: Keep base url in the scanner
And provide a nice function to query it. Simplifies a bunch of code.
2011-05-18 21:58:46 +02:00
Benjamin Otte
84ba8255fc cssprovider: Move properties to scanner constructor
So we can set them in one place.
2011-05-18 21:58:46 +02:00
Benjamin Otte
2de4f71586 cssprovider: Don't store scanner in the struct
Instead, create scanners whenever we actually parse stuff.
2011-05-18 21:58:46 +02:00
Benjamin Otte
5c940f2bd4 cssprovider: Get rid of gtk_css_provider_reset_parser()
Instead call gtk_css_scanner_reset(). There is nothing else we could
need to do.
2011-05-18 21:58:45 +02:00
Benjamin Otte
607846879e cssprovider: Keep track of passed in error differently
Instead of having an error member in the CSS provider's private struct,
connect a signal handler when an error is passed in. This has two
advantages:
1) It makes the code clearer as we don't have to keep track of an error
   member anywhere.
2) It causes a non-emission of the g_warning() when an error was passed
   in, because it only triggers when no signal handlers are connected.
   So we get identical behavior to GTK 3.0 where warnings where only
   emitted when no error was passed in.
2011-05-18 21:58:45 +02:00
Benjamin Otte
8fb6fdd3e7 cssprovider: Do error handling differently
Instead of aborting a parse whenever we encounter an error, parse to the
end. But if a GError was passed in, reset the provider completely as if
nothing had been parsed.
2011-05-18 21:58:45 +02:00
Benjamin Otte
992ee6a203 cssprovider: Emit a g_warning() when a css file is erroneous
... and no other error handler is active. See the source code comment
for the reasoning.
2011-05-18 21:58:45 +02:00
Benjamin Otte
2d75dd2fdf cssprovider: No need to restore after @import parsing
With the recent changes, this just resets the error, and we don't the
error reset from subfile parsing.
2011-05-18 21:58:45 +02:00
Benjamin Otte
3e146b468b cssprovider: Store current properties and selectors in scanner
They don't belong in the css provider
2011-05-18 21:58:45 +02:00
Benjamin Otte
f3bb815517 cssprovider: Use scanner variable instead of priv->scanner 2011-05-18 21:58:45 +02:00
Benjamin Otte
d85cbfe157 cssprovider: Pass scanner argument explicitly to error functions 2011-05-18 21:58:45 +02:00
Benjamin Otte
5bc2ae1a91 cssprovider: Update the scope modifying functions
Make them take the scanner as an argument, as that's what gets changed,
not the CssProvider.
2011-05-18 21:58:45 +02:00
Benjamin Otte
83ebc91dce cssprovider: track state in the scanner
This way, we don't have to do magic copies when we create a new scanner
for a subfile.
2011-05-18 21:58:45 +02:00
Benjamin Otte
740f2458bf cssprovider: Add a private structure to the scanner
So far, it's unused
2011-05-18 21:58:45 +02:00
Benjamin Otte
073d75a880 cssprovider: Add a custom gtk_css_scanner_destroy() function
So far, it does nothing
2011-05-18 21:58:45 +02:00
Benjamin Otte
5ca9f25523 cssprovider: Pass the scanner explicitly to parse_stylesheet()
This is the first step in decoupling the scanner from the provider.
2011-05-18 21:58:45 +02:00
Benjamin Otte
318a3af96e cssprovider: No need to set user data anymore 2011-05-18 21:58:45 +02:00
Benjamin Otte
796d593cc1 tests: Make css-parser test take files as argument
Takes the css files to be tested as argument and runs with it.
2011-05-18 21:58:45 +02:00
Benjamin Otte
1f4b09b2fb tests: Add a test for border parsing 2011-05-18 21:58:45 +02:00
Benjamin Otte
195589feac tests: Add new test checking weird behavior for declarations 2011-05-18 21:58:44 +02:00
Benjamin Otte
cb8a595a65 cssprovider: Clean up declaration parser to conform to more tests
The tests will follow with the next commits
2011-05-18 21:58:44 +02:00
Benjamin Otte
22bda2b92f cssprovider: Rework declaration parsing loop
The new loop can cope better with invalid identifiers and manages to
resume parsing properly.
2011-05-18 21:58:44 +02:00
Benjamin Otte
fbf658b04e tests: Add CSS integer parsing tests 2011-05-18 21:58:44 +02:00
Benjamin Otte
d28816bdba tests: Add test for booleans to CSS tests 2011-05-18 21:58:44 +02:00
Benjamin Otte
5e054b37a2 cssprovider: Don't fail with invalid syntax when parsing a value
Instead, raise a PROPERTY_VALUE error, find the next semicolon or
closing bracket and resume parsing.
2011-05-18 21:58:44 +02:00
Benjamin Otte
be1da7ef92 tests: (Try to) print the actual enum value in the errors file
Instead of gtk-some-error-quark 5, print
GTK_SOME_ERROR_SOMETHING_FAILED.
2011-05-18 21:58:44 +02:00
Benjamin Otte
71b18a9006 test: Add a bunch of default properties to the CSS parser
One of each type, so that we can test the parsing of them.
2011-05-18 21:58:44 +02:00
Benjamin Otte
a94ea9a4e3 css: Overhaul value parsing
Value parsing only sometimes emitted errors. Sometimes it didn't emit
errors but ignored the value, sometimes it took a default, sometimes it
converted it to something it deemed suitable.

While refactoring, I moved the whole GValue <=> char * conversion
routines to a separate file, to make navigating the core css provider
easier.
2011-05-18 21:58:44 +02:00
Benjamin Otte
a50a06b583 cssprovider: Remove now useless variables 2011-05-18 21:58:44 +02:00
Benjamin Otte
469ed3e8ed cssprovider: Remove scanner_report_warning() function
That function does superbad stuff just to print out something on stderr.
Don't do superbad stuff.
2011-05-18 21:58:44 +02:00
Benjamin Otte
f1307ef428 tests: Make CSS parser pass NULL as error.
We are trapping errors via signals now.
2011-05-18 21:58:44 +02:00
Benjamin Otte
2d0162c97b tests: Check errors in css test 2011-05-18 21:58:44 +02:00
Benjamin Otte
35c9650752 tests: Change the way the code does diffs
Use a temp file for intermediate storage and properly unlink that
tempfile after the diff is done.
2011-05-18 21:58:44 +02:00
Benjamin Otte
4622614784 cssprovider: use INVALID_SYNTAX for unexpected token error 2011-05-18 21:58:44 +02:00
Benjamin Otte
b34f004f43 cssprovider: Change declaration parsing for error reporting
Previously, we only checked for errors after parsing the full
declaration. Now we detect errors with the property before even
attempting to parse its value.
The benefit here is that the error reporting reports the correct line
and position numbers.
2011-05-18 21:58:44 +02:00
Benjamin Otte
ee53156762 API: cssprovider: Add more error codes 2011-05-18 21:58:44 +02:00
Benjamin Otte
78afa9671e API: cssprovider: Make error a signal 2011-05-18 21:58:44 +02:00
Benjamin Otte
06d4dab48c cssprovider: Handle errors completely via new error functions 2011-05-18 21:58:43 +02:00
Benjamin Otte
582aa955c2 cssprovider: Provide better API to set errors 2011-05-18 21:58:43 +02:00
Benjamin Otte
707ba8597f cssprovider: Have a private error variable 2011-05-18 21:58:43 +02:00
Benjamin Otte
c18dc15694 tests: Add test for auto-closing at end of file 2011-05-18 21:58:43 +02:00
Benjamin Otte
38ca304825 cssprovider: Automatically add final closing bracket to last rule 2011-05-18 21:58:43 +02:00
Benjamin Otte
224d65032e tests: Add CSS test checking that we don't need a semicolon 2011-05-18 21:58:43 +02:00
Benjamin Otte
8fd6bd323c tests: Add two simple css tests 2011-05-18 21:58:43 +02:00
Benjamin Otte
64fd32cdef tests: Add a test for the CSS parser
Tests in the parser need 1 or 2 files:
1) test.css
2) test.ref.css (optional, defaults to test.css)

The test instantiates a CSS provider, loads test.css, then dumps the
loaded file to test.out.css and then checks that that file matches
test.ref.css. If not, it dumps a diff between those two to the log and
fails.

You want to run the test with --verbose to get the output dumped to
stdout.
2011-05-18 21:58:43 +02:00
Benjamin Otte
9d9f1e38b2 cssprovider: Ignore empty rules 2011-05-18 21:58:43 +02:00
Benjamin Otte
b1556abe04 API: gtk: Add gtk_css_provider_to_string()
This is intented to convert the contents of a CSS provider back to a
string.
It is not complete yet but good enough for starting a testsuite. :)
2011-05-18 21:58:43 +02:00
Benjamin Otte
8b6f92d087 API: Add gtk_gradient_to_string() 2011-05-18 21:58:43 +02:00
Benjamin Otte
dc43239a61 gtk: Add _gtk_animation_description_to_string()
Reverses _gtk_animation_description_from_string()
2011-05-18 21:58:43 +02:00
Benjamin Otte
6e18b5f3de API: gtk: Add gtk_symbolic_color_to_string()
See future commits for why this is useful. Or try to debug some color
problem.
2011-05-18 21:58:43 +02:00
Benjamin Otte
b566debef9 cssprovider: Add a function for signalling errors 2011-05-18 21:58:43 +02:00
Benjamin Otte
f5bc27f7ef cssprovider: Store cssprovider in scanner's user data 2011-05-18 21:58:43 +02:00
Cosimo Cecchi
f398745a15 treeview: don't arbitrairly add 2 to the expander size
Bump the default expander size by 2 pixels instead.

https://bugzilla.gnome.org/show_bug.cgi?id=650424
2011-05-18 11:12:47 -04:00
Cosimo Cecchi
42f5856e77 treeview: render a frame around the rows, after drawing their background
https://bugzilla.gnome.org/show_bug.cgi?id=650424
2011-05-18 11:12:31 -04:00
Cosimo Cecchi
1a7239481c raleigh: clear up menu handling in the fallback CSS
Now that menus properly respect padding/border, this is not needed
anymore.
2011-05-18 10:45:51 -04:00
Cosimo Cecchi
091a4d7f22 menu: don't use the border as a padding value
Borders should be rendered inside the allocation, not act as a second
padding.

https://bugzilla.gnome.org/show_bug.cgi?id=650418
2011-05-18 10:45:50 -04:00
Cosimo Cecchi
c8a59a6f92 all: avoid boxed structs copying where possible
Use the GtkStyleContext accessors for boxed properties where possible,
to reduce allocations.

https://bugzilla.gnome.org/show_bug.cgi?id=650420
2011-05-18 10:27:21 -04:00
Chun-wei Fan
61e49e159a Update Visual C++ README.txt
-Make the build preparation instructions a bit more clear.
-Tell people about the (now optional) use of fontconfig in the
 Visual C++ builds.
2011-05-18 12:02:10 +08:00
Carlos Garnacho
52452236bc button: Fix typo in keyboard grab's evmask
https://bugzilla.gnome.org/show_bug.cgi?id=650382, spotted
by Alexander Larsson.
2011-05-17 13:17:25 +02:00
Colin Walters
7bc2f539d0 Explicitly declare internal reserved bits in GdkModifierType
XKB and GDK both add "internal" bits to GdkModifierType.  In C,
this typically doesn't cause problems as bitfields are just integers,
and there's no validation.  However for bindings, it's normal to
convert enumerations to "native" enumeration types, which don't
support unknown bits.  See bug 597292.

https://bugzilla.gnome.org/show_bug.cgi?id=634994
2011-05-16 12:35:40 -04:00
Colin Walters
931e8e38ef gdk_display_get_pointer: Screen out parameter is (transfer none) 2011-05-16 12:35:40 -04:00
Yaron Shahrabani
55e093dcb5 Update Hebrew translation. 2011-05-13 08:28:50 +03:00
Yaron Shahrabani
80d77458c7 Update Hebrew translation. 2011-05-13 08:26:01 +03:00
Benjamin Otte
c2f23ccd23 reftests: Add a shell script to create tests
See the documentation in the script.
Tests are not yet added as the output from the 2 included scripts
doesn't match and the intended reference output first needs to be agreed
on.
2011-05-13 02:46:15 +02:00
Matthias Clasen
b219b3b0ec Add shortcuts for the !children case
Not that we are doing too much work in that case, but we are
segfaulting, which is bad.
https://bugzilla.gnome.org/show_bug.cgi?id=649972
2011-05-12 20:12:51 -04:00
Matthias Clasen
76a96626fd Flesh out the GtkGrid migration chapter some more 2011-05-12 19:34:10 -04:00
Benjamin Otte
d20aa1f8dc reftests: Add a test for the label fix 2011-05-12 23:40:26 +02:00
Benjamin Otte
5084739756 themingengine: Set current point to 0,0 when rendering rotated layout
Otherwise the layout may move to who-knows-where
2011-05-12 23:40:26 +02:00
Matthias Clasen
3ace68ee6f Add an initial migration chapter for GtkGrid 2011-05-11 23:55:54 -04:00
Matthias Clasen
7b6e3be4a7 Another grid spacing reftest
This one checks that empty rows/columns don't affect layout.
2011-05-11 19:52:33 -04:00
Micah Carrick
86f5849158 Fix annotation for Gtk.TreeView.enable_model_drag_source
https://bugzilla.gnome.org/show_bug.cgi?id=649979
2011-05-11 16:15:23 -04:00
Matthias Clasen
87e46bfaa9 Add some reftests comparing aspects of grid and box spacing 2011-05-11 13:48:00 -04:00
Benjamin Otte
f96777ea02 paned: Be careful about showing windows
The previous code failed to account for all child visibility and paned
mapedness invariants which could cause stray GDK windows to appear.
Not good.

Credit goes to Xan for triggering it.
2011-05-11 00:47:23 +02:00
Matthias Clasen
1ab425b132 GtkAssistant: make the content expand
Its all about the content, so make sure the content fills
the available space.
2011-05-10 17:57:21 -04:00
Friedel Wolff
a14e77fc97 Fix two small translation bugs 2011-05-10 12:47:22 +02:00
Benjamin Otte
d01d90fccd reftests: Add test for undersized children of GtkPaned
Tests the recent fixes done in 206b9f940d
and 6bda6f0c58
2011-05-10 01:39:14 +02:00
Matej Urbančič
f9c60b109a Updated Slovenian translation 2011-05-09 20:22:00 +02:00
Jorge González
a87ba4efe3 Updated Spanish translation 2011-05-09 19:39:39 +02:00
Benjamin Otte
6bda6f0c58 paned: Ensure children aren't underallocated
Instead, allocate them a proper size and just clip them using the window
we added for them in the last commit.
2011-05-09 18:55:13 +02:00
Benjamin Otte
206b9f940d paned: Create a GDK window for every child
We need the window to clip drawing. Otherwise we cannot allow
undersizing without doing underallocations.
2011-05-09 18:37:08 +02:00
Benjamin Otte
b6c8671fde reftests: Add CSS file for alignment test
We need to force arrow scaling to 1.0 to get the alignment right.
2011-05-09 13:25:36 +02:00
John Stowers
21761ce5fc Add missing gtk_widget_override_* annotations
https://bugzilla.gnome.org/show_bug.cgi?id=649779
2011-05-09 23:09:26 +12:00
Fran Diéguez
dcbf362621 Updated Galician translations 2011-05-09 13:08:53 +02:00
Matthias Clasen
f3a66d0783 Dueling arrow positioning fixes...
Revert my fix, which conflicted with Benjamins fix for the same
issue.
2011-05-08 21:33:12 -04:00
Matthias Clasen
432e89685f Fix up the misc-alignment test
The new-style ui file had some left-over GtkMisc properties
in it.
2011-05-08 21:28:36 -04:00
Matthias Clasen
3b3c5e19d9 Fix a arrow positioning
This gets the misc-alignment test for arrows closer to
not failing.
2011-05-08 21:28:36 -04:00
Benjamin Otte
42450cacd9 reftests: Modify test to ensure identical output
GtkArrow and the align properties use different methods (float vs int)
to center the arrow. If the size of the arrow is odd, this will cause a
rendering that differs by half a pixel. So we request an even size for
both the arrow and the container and everything works out.
2011-05-09 01:36:00 +02:00
Benjamin Otte
3c2105c9cd reftests: Add misc-alignment test to Makefile 2011-05-09 01:12:29 +02:00
Benjamin Otte
50c36f38ff reftests: Actually add toplevel vs popup testcase
Adds missing files from 79d1b11d0b and
reverts eba4ca3e66.
2011-05-09 01:10:13 +02:00
Benjamin Otte
ece3c54f57 arrow: Don't include padding in computation of alignment 2011-05-09 01:07:35 +02:00
Kristian Høgsberg
2ebdcf5f37 wayland: Track wayland API changes 2011-05-08 13:20:11 -04:00
Jorge González
d9760a1d3c Updated Spanish translation 2011-05-08 17:54:29 +02:00
Daniel Mustieles
7867908ef3 Updated Spanish translation 2011-05-08 17:33:59 +02:00
Daniel Mustieles
f1ed0ace1c Updated Spanish translation 2011-05-08 17:30:08 +02:00
Matthias Clasen
2e1fa6df4a Post-release bump 2011-05-07 13:04:38 -04:00
Matthias Clasen
e97baf7906 3.1.4 2011-05-07 13:01:16 -04:00
Matthias Clasen
1de66e0c52 Another distcheck fix 2011-05-07 13:00:58 -04:00
Matthias Clasen
90ad52687c Work around testsuite failures for distcheck 2011-05-07 12:59:09 -04:00
Matthias Clasen
5b9e402cf3 Fix a typo in !HAVE_XCURSOR code paths
Patch by Victor Oliveira,
http://bugzilla.gnome.org/show_bug.cgi?id=649665
2011-05-07 12:01:04 -04:00
Daniel Mustieles
99b9e35f8f Updated Spanish translation 2011-05-07 12:39:45 +02:00
Matthias Clasen
111b7fd504 Distcheck fixes 2011-05-07 00:07:07 -04:00
Matthias Clasen
eba4ca3e66 Drop missing tests 2011-05-07 00:03:13 -04:00
Matthias Clasen
a805e70615 Add a new forgotten symbol 2011-05-06 23:51:52 -04:00
Matthias Clasen
e31c73d83f More updates 2011-05-06 23:46:18 -04:00
Matthias Clasen
569f480bc0 Update the NEWS for 3.1.4 2011-05-06 23:34:49 -04:00
Matthias Clasen
1d647df176 Add a lock button widget
This is a special-purpose button that can be used together with
GPermission objects to control the sensitivity of system settings.

Suitable permission objects can e.g. be obtained from PolicyKit.

http://bugzilla.gnome.org/show_bug.cgi?id=626457
2011-05-06 22:44:38 -04:00
Matthias Clasen
5cb3f5ff0f Remove outdated comments
Neither GdkColors nor GdkRGBAs are ever 'allocated' nowadays.
2011-05-06 17:05:35 -04:00
Tristan Van Berkom
9fd1feb2a8 Adding more traditional checkered background to testtextview. 2011-05-06 17:05:35 -04:00
Tristan Van Berkom
e217c455f8 Added Since 3.2 annotations for new GdkRGBA properties. 2011-05-06 17:05:34 -04:00
Tristan Van Berkom
cefb950110 Added internal GdkRGBA support for GtkTextTag::paragraph-background-rgba
Added the remaining implementation bits for rendering paragraph backgrounds
with rgba values and updated the test case.
2011-05-06 17:05:34 -04:00
Tristan Van Berkom
2b2d7aa305 Fixed GtkTextTag to sync the GdkColors with the new GdkRGBA values for backwards compatability. 2011-05-06 17:05:34 -04:00
Tristan Van Berkom
d3c77f0330 Handled error_color with GdkRGBA in gtktextdisplay.c. 2011-05-06 17:05:34 -04:00
Tristan Van Berkom
604292a404 Fixed textview rendering regression.
Background color was not painted on the whole tagged segment after
line breaking, this was due to the default ->prepare_run() function
wiping the internal PangoColors clean... fixed this by unconditionally
setting local rgba colors from prepare_run instead of comparing them
and bailing out.
2011-05-06 17:05:34 -04:00
Tristan Van Berkom
d399a4acab Added GdkRGBA properties to GtkTextTag.
This now allows text view to render text with alpha values in
the text foreground and backgrounds, the work is almost complete,
currently the error-underline-color is still a GdkColor style property
and since we use only GdkRGBA for rendering it needs to be converted
and applied, probably a new rgba version of the style property should
also be introduced.

This commit adds tests/testtextview that must be run from the tests/
directory to show translucent text in action.
2011-05-06 17:05:10 -04:00
Cosimo Cecchi
297e739395 testassistant: don't use deprecated functions 2011-05-06 16:08:42 -04:00
Cosimo Cecchi
579afaa9a1 progressbar: fetch the padding without the trough style class
This is consistent with the rest of the widget, which uses only one
padding value.

https://bugzilla.gnome.org/show_bug.cgi?id=649593
2011-05-06 15:10:43 -04:00
Cosimo Cecchi
73d9ca67e6 cellrendererprogress: don't force drawing inside the border
The progressbar is composed by two different rendered areas: the trough
(i.e. the non-filled part of the bar) and the bar itself.

The bar should be able to fill the whole height/width of the trough
without resorting to nasty hacks in the theme, and we can control the
amount of space between the bar and the trough with the padding already.

https://bugzilla.gnome.org/show_bug.cgi?id=649593
2011-05-06 15:10:43 -04:00
Matthias Clasen
e805320a14 gtk3-demo: assistant demo simplications
Since header and sidebar images are no longer used, don't set them.
2011-05-06 14:56:43 -04:00
Matthias Clasen
c83e76fb12 GtkAssistant: an new style for assistants
GtkAssistant is widely recognized as a butt-ugly widget.

This commit changes its style to look more modern. We
deprecate the sidebar and header image properties and
don't show them anymore. Instead, page titles are arranged
in a sidebar, with the title of the current page shown
in highlighted style.
2011-05-06 14:56:43 -04:00
Matthias Clasen
e8413cc28e testassistant: some more tests 2011-05-06 14:56:36 -04:00
Matthias Clasen
e244e5050b Silently allow child properties on grandchildren
This commit simply removes some child->parent == container checks,
to add some flexibility for containers with 'inner structure'.
If these checks are considered useful, we can bring them back
with a is_child vfunc that allows container implementations to
decided who they consider legitimate child.
2011-05-06 14:29:47 -04:00
Matthias Clasen
deb271d355 Add gtk_container_child_notify
This is a variant of gtk_widget_child_notify() that takes an
explicit container, instead of relying on widget->parent to
be the correct container to use.
2011-05-06 14:29:14 -04:00
Matthias Clasen
c8c1075cfe gtk-demo: Don't leave a dangling pointer to a destroyed widget
When destroying the assistant, clean up the static variable
that points to it.
2011-05-06 14:28:28 -04:00
Matthias Clasen
73bf1740e9 Some additional auto-mnemonic fixes
Previously, we would also show mnemonics if the user hits
Ctrl+Alt, even though Ctrl+Alt+<x> does not actually trigger.
2011-05-06 14:10:23 -04:00
Rui Matos
6889d5b008 GtkWindow: set mnemonics visible on focus in if modifier is pressed
With gtk-auto-mnemonics on, we hide mnemonics on focus out. We should also
check if the modifier is pressed on focus in and if so, show mnemonics again.

https://bugzilla.gnome.org/show_bug.cgi?id=618815
2011-05-06 14:10:23 -04:00
Javier Jardón
d543a9c6f9 configure.ac: Indeed the minimum required version is 2.29.4, not 2.29.2 2011-05-06 18:54:22 +01:00
Javier Jardón
4e75148796 configure.ac: Bump glib minimum required version to 2.29.2
As we are using the new g_test_fail() in the gtk-reftest
2011-05-06 18:52:14 +01:00
Benjamin Otte
f6e11febfa Revert "arrow: Make minimum size 5px"
This reverts commit 1c46e04f30.

The change broke too many widgets that relied on the size being
constant. A proper fix would require letting themes override the size.
That would probably also require letting themes specify the size
relative to font size.
2011-05-06 19:35:40 +02:00
Matthias Clasen
6c1133c885 Add an alignment property test
This test compares GtkAlignment properties and GtkWidget margin and
alignment properties.
2011-05-05 22:21:59 -04:00
Matthias Clasen
9966acbdaa Expand GtkMisc tests to cover arrows and images
This unveils something fishy with arrows.
2011-05-05 21:47:14 -04:00
Matthias Clasen
587e534b7e Add a misc-alignment reftest
This test compares GtkMisc properties and GtkWidget margin and
alignment properties.
2011-05-05 17:53:12 -04:00
Matthias Clasen
ebc325d38c More box<>grid comparison tests
Add a more complicated case with multiple expanding children.
Also, make the window a popup.
2011-05-05 17:13:28 -04:00
Colin Walters
703af0fb48 gtkicontheme: More explicitly note ownership transfers of duplicated string
I was hunting a memory leak and couldn't find it; at least I'm
pretty sure all of these are OK.  But document things better
for the future.

Also use g_hash_table_replace in one more case for consistency.

https://bugzilla.gnome.org/show_bug.cgi?id=649457
2011-05-05 16:02:10 -04:00
Benjamin Otte
dced75dcc4 reftests: Add missing css file for grid-expand test 2011-05-05 19:34:31 +02:00
Benjamin Otte
ac06529f61 reftests: Add testcase for label justify fix 2011-05-05 17:33:44 +02:00
Benjamin Otte
33e6479554 label: Compute label offset properly for wrapped justified labels
label offsets were computed wrong for wrapped or ellipsized labels that
were right- or center-justified and had excess space available.
2011-05-05 17:33:44 +02:00
Benjamin Otte
278260a3ae reftests: Fix filename in makefile 2011-05-05 17:33:44 +02:00
Benjamin Otte
79d1b11d0b reftests: Add a test that ensures toplevels and popups render identical 2011-05-05 17:33:44 +02:00
Benjamin Otte
66f0544238 reftests: Ensure we got a draw event before quitting the main loop 2011-05-05 17:33:04 +02:00
Benjamin Otte
3f4f900242 reftests: Add a hack to make toplevels work in various WMs
If we have a toplevel, and not a popup window, do wait an additional
0.5s to give the WM/server enough time to actually create the window.

This is a hack and there should be a better solution. But it works.

Please use POPUP windows for tests unless the test must use toplevel
windows.
2011-05-05 17:33:04 +02:00
Benjamin Otte
5c026f32e9 reftests: Plug a leak 2011-05-05 17:33:04 +02:00
Benjamin Otte
9f47d388f2 reftests: Add test for box expand handling 2011-05-05 17:33:04 +02:00
Benjamin Otte
96c9dd119b reftests: Add a test for grid expand flags 2011-05-05 17:33:04 +02:00
Javier Jardón
2f3e1fa3e4 gtk/gtktrayicon-x11.c: Use GdkRGBA instead GdkColor 2011-05-05 12:48:09 +01:00
Matthias Clasen
b8fe808e15 GtkButtonBox: add a non-homogeneous child property
This makes it easier to add things like lock buttons in
dialogs. Part of #626457.
2011-05-05 07:46:03 -04:00
Matthias Clasen
dd95a099be Fix box-packing test 2011-05-05 07:28:18 -04:00
Matthias Clasen
8816a12f0b Expand box-packing reftest
Compare vexpand behavior, too.
2011-05-04 22:58:32 -04:00
Matthias Clasen
f3fbdeecdb Add a box-packing reftest
This test compares GtkHBox expand handling with GtkGrid+GtkWidget::hexpand,
to ensure that replacing GtkHBox by GtkGrid works as intended.
2011-05-04 20:40:22 -04:00
Daniel Mustieles
9797bf4fe8 Updated Spanish translation 2011-05-04 22:46:27 +02:00
Javier Jardón
1fcfa91ee3 gdk/x11/gdkcursor-x11.c: Use GdkRGBA instead GdkColor 2011-05-04 17:58:17 +01:00
Kristian Rietveld
8285c7f60f GdkWindow: remove unused variable 2011-05-04 07:31:39 +02:00
Matthias Clasen
e8dd560851 Convert the commit message into a README
Not everybody thinks git grep is a great doc reader...
2011-05-03 19:37:00 -04:00
Carlos Garnacho
2a1a969d23 GdkWindow: Fix gdk_window_set_[device_]cursor() issues with root/foreign windows
It could be the case that gdk_window_set_cursor() is called on
pointers not yet known to the device tracking code in GdkDisplay,
so update the cursor on all master pointers.

The code actually updating the cursor for the given window has
been refactored out to gdk_window_set_cursor_internal(), used
in gdk_window_set_device_cursor() as well, which makes it handle
root/foreign windows too.

https://bugzilla.gnome.org/show_bug.cgi?id=649313
2011-05-04 01:00:42 +02:00
Colin Walters
b90e8cfc36 gtkdnd: Add API that takes GIcon
This will be useful for me to port gnome-panel to gnome-menus 4, which
uses GAppInfo, which in turn returns icon references as GIcon.

https://bugzilla.gnome.org/show_bug.cgi?id=649295
2011-05-03 12:53:46 -04:00
Colin Walters
e36c9dffac gtkimageprivate: Drop unused theme_change_id 2011-05-03 11:04:56 -04:00
Benjamin Otte
d0451d6fa4 reftests: Add a --output option to the test runner
This argument specifies where to dump images instead of /tmp. It's not
hooked up to the test runner, so that one will continue to dump into
/tmp.
2011-05-03 15:40:49 +02:00
Benjamin Otte
3a5669afd0 reftests: Add test for low mnemonics
Low mnemonics were invisible previously. This tests the fix from
9bb145a677
2011-05-03 15:40:49 +02:00
Benjamin Otte
97ad34c3a7 reftests: Test that nonresizable windows get the right size
We want the default size, not the minimum one. This tests the fixes from
4f23dc34be
2011-05-03 15:40:49 +02:00
Benjamin Otte
32a3ad412e tests: Add a test for small ellipsized labels
Tests the fix from bf41392861
2011-05-03 15:40:49 +02:00
Benjamin Otte
af75173ddd reftests: Add grid-homogeneous test
Checks that the homogeneous properties of GtkGrid actually do what
they're supposed to.

Tests fixes from 8331b45a5f
2011-05-03 15:40:49 +02:00
Benjamin Otte
17a6d6b5f6 reftests: Add a test for correct entry text clipping in progress drawing
Tests for fixes in da1f618b09
2011-05-03 15:40:49 +02:00
Benjamin Otte
9229b3216a reftests: Add label-sizing test
Checks that the size requests for labels are as they should be for
required and natural size given various combinations of wrap, ellipsize,
width-chars and max-width-chars.

See
http://mail.gnome.org/archives/gtk-devel-list/2011-April/msg00036.html
for the discussion spawning this test.
2011-05-03 15:40:48 +02:00
Benjamin Otte
363dbb6039 reftests: Add
Add a new test runner supposed to do a lot of generic tests. Run it like
this:

./gtk-reftest [OPTIONS] TESTFILE [TESTFILES...]

where FILE is a GtkBuilder ui file to run.

For a general test named "test", you want to have the following files:
1) test.ui
2) test.ref.ui
3) test.css (optional)
The test will then check that test.ui and test.ref.ui are rendered
identically with the provided css.

In detail, for every provided TESTFILE the test runner will:
1) Add the css to the default screen
2) Load the test.ui file and the test.ref.ui file
3) Grab the first GtkWindow subclass widget
4) gtk_widget_show() it and take a snapshot image of its contents into
   a cairo surface.
5) Compare the two images to be bitwise identical. If they are not, a
   diff image will be created hilighting the differences.
6) Save the images as png files to the output directory named:
   - test.out.png (rendering of test.ui)
   - test.ref.png (rendering of test.ref.ui)
   - test.diff.png (optional, differences from step 5)
7) Fail the test if the two images are not bitwise identical

Credit for the idea of reftests goes to Mozilla and in particular David
Baron. For a larger introduction of why reftests are useful, see
http://weblogs.mozillazine.org/roc/archives/2008/12/reftests.html
2011-05-03 15:40:48 +02:00
Benjamin Otte
69300df1fc label: Allow using more underline modes 2011-05-03 15:38:43 +02:00
Martin Pitt
1e1cca8912 GdkWindow: Add missing (allow-none) annotations 2011-05-03 09:30:49 +02:00
Benjamin Otte
ecb0fa952a accellabel: Remove leftover debug code
The disabling of the check was added in
63a0ab5e73

Ooops.
2011-05-02 20:09:17 +02:00
Benjamin Otte
b102df5370 cellarea: Fix warning messages to display the right type
The warning displayed the type of the area instead of the cell
renderer's type before.
2011-05-02 20:09:17 +02:00
Javier Jardón
fb3c16b7ad tests/testgtk.c: Fix crash in cursor test
This was introduced in
commit ac4c12ff60
2011-05-02 18:20:23 +01:00
Benjamin Otte
87ecd9ad59 menuitem: Deprecate gtk_menu_item_set_right_justified()
And the getter, too: gtk_menu_item_get_right_justified() and the
corresponding property. Also make the only caller use the private
structure (as it did before the recent patches).
2011-05-02 16:57:12 +02:00
Benjamin Otte
e8c6dbfab1 testgtk: right-justify menuitem by using expand/align flags
gtk_menu_item_set_right_justify() is about to be deprecated and this
thing should work. (Note: should, because I didn't implemented it yet.)
2011-05-02 16:57:12 +02:00
Benjamin Otte
0203cd612e gtk-demo: Don't right-justify menu items
We don't want to demo things that are a bad idea (quoted from the docs).
2011-05-02 16:57:12 +02:00
Javier Jardón
3b2e710aa4 gtkbuilder.c: gtk_builder_value_from_string() also support GdkRGBA values 2011-05-02 15:43:45 +01:00
Javier Jardón
a8811efcd7 docs: Remove documentation about deprecated and removed GtkText 2011-05-02 15:41:02 +01:00
Arnel Borja
c064808a1a Bypass libtool for linking with libuuid on win32
Fixes a regression introduced in 07d49ee5.

Libtool by default refuses to link static libraries into shared
libraries. In Windows, libuuid is however a static library and needed
for shared libgtk; as a work around, use "-Wl,-luuid" to pass the option
directly to the linker.

https://bugzilla.gnome.org/show_bug.cgi?id=642214
2011-05-02 10:19:59 -04:00
Javier Jardón
a817b4763d gtkcalendar: Remove unused variable 2011-05-02 14:59:53 +01:00
Javier Jardón
8e1fdaebe7 docs/reference/gtk/text_widget.sgml: Use GdkRGBA instead GdkColor 2011-05-02 14:08:43 +01:00
Javier Jardón
e73c0d9800 docs/tools/widgets.c: Use GdkRGBA instead GdkColor 2011-05-02 14:08:42 +01:00
Abduxukur Abdurixit
dac718a463 Added UG translation 2011-05-02 08:44:33 +02:00
Abduxukur Abdurixit
1130f1c263 Added UG translation 2011-05-02 08:34:06 +02:00
Kristian Rietveld
0b3b2a943a tooltips: treat scroll events like key/button press instead of motion
This avoids tooltips from staying visible when scrolling using scroll
events.  Suggested by Paul Davis.
2011-05-01 16:39:21 +02:00
Matthias Clasen
cf588d7404 GtkWidget: avoid an unused variable warning 2011-05-01 10:02:58 -04:00
Benjamin Otte
4f23dc34be window: Make non-resizable windows use default size for geometry hints
Previously, we were trying to size them by the default size, but then
setting the minimum size as the geometry hints' minimum and maximum
size.
2011-05-01 08:47:58 +02:00
Benjamin Otte
63a0ab5e73 accellabel: Only daw accelerator after natural size has been reached 2011-05-01 08:02:15 +02:00
Benjamin Otte
406b2e9e58 window: Remove overeagerness with new size guessing
Don't use the guessed size when we are interested in the minimum size.
So now we can really shrink menubars.

This reverts parts of 08b2ac1d90
2011-05-01 08:02:15 +02:00
Benjamin Otte
f74df9ba70 menubar: Rewrite size allocation to take natural sizes into account
Yay for properly ellipsizing menubars!
2011-05-01 08:02:15 +02:00
Benjamin Otte
4c9b8e0fcd menubar: Only query ipadding when we actually need it 2011-05-01 05:38:47 +02:00
Benjamin Otte
ae32f2fe90 menubar: Respect ipadding also in y direction 2011-05-01 05:30:42 +02:00
Benjamin Otte
cb99f0750d tests: Make testmenubars make all menubar items ellipsized
This reproduces a bug in Nautilus. And it allows to shrink things,
woohoo!
2011-05-01 04:44:56 +02:00
Benjamin Otte
27a661143e settings: Recompute styles when font name changes 2011-05-01 04:44:56 +02:00
Benjamin Otte
22a1bd6d6b menubar: Implement height-for-width / width-for-height
Pretty much just required hooking up the 2 vfuncs, the previous code
reorg did the rest of the work.
2011-05-01 04:44:56 +02:00
Benjamin Otte
c52f733a2d menubar: Actually query minimum and natural size of children
Previously, we only queried the minimum size and reported that as
natural size, too.
2011-05-01 04:44:56 +02:00
Benjamin Otte
3091a90538 menubar: Query only the necessary size from the child
The get_preferred_size() function was compied form elsewhere. We should
really make that a common API.
2011-05-01 04:44:56 +02:00
Benjamin Otte
923fcaa928 menubar: Only compute the necessary size
There's no need to compute height when we're only interested in width
2011-05-01 04:44:56 +02:00
Benjamin Otte
5aac83bf08 menubar: compute in advance wether to add toggle size 2011-05-01 04:44:56 +02:00
Benjamin Otte
f2bf5ce378 menubar: Change function prototype for size request function
This is in preparation for redoing that function to actually care about
natural sizes.
2011-05-01 04:44:56 +02:00
Benjamin Otte
d6fbbe159f menubar: Remove unnecessary return_if_fail() in vfuncs 2011-05-01 04:44:56 +02:00
Benjamin Otte
62e6bc7c34 menubar: Remove useless function declaration 2011-05-01 04:44:56 +02:00
Benjamin Otte
d8dfa74b4e menubar: Remove unused variable 2011-05-01 04:44:56 +02:00
Benjamin Otte
a85883ba2b imagemenuitem: No need to query image size by default
Also makes the code look nicer, so woohoo
2011-05-01 04:44:56 +02:00
Benjamin Otte
a64a2aded4 menubar: Compute proper size even when invisible 2011-05-01 04:44:56 +02:00
Fran Diéguez
a102dbcf12 Updated galician translations 2011-04-30 23:52:35 +02:00
Matthias Clasen
896a6b2452 Fix the build
G_GNUC_FUNCTION is deprecated.
2011-04-29 16:50:17 -04:00
Colin Walters
9d84e6cda7 Drop the last remaining translated g_warning/g_error calls
http://mail.gnome.org/archives/desktop-devel-list/2011-March/msg00069.html

https://bugzilla.gnome.org/show_bug.cgi?id=648943
2011-04-29 10:33:50 -04:00
Colin Walters
466d688fea updateiconcache: Don't translate g_warning/g_error 2011-04-29 10:24:21 -04:00
Kalev Lember
bcc153e262 Disable gtk-update-icon-cache.exe.manifest with --enable-gtk2-dependency
When gtk-update-icon-cache building is suppressed, its manifest file
should also not be installed.

https://bugzilla.gnome.org/show_bug.cgi?id=648938
2011-04-29 10:11:12 -04:00
Kalev Lember
95904a5a1b perf: Use different marshaller prefix than in gtk
Avoids multiple symbol definitions in gtk/gtkmarshalers.c
and perf/marshalers.c when both objects are linked in.

https://bugzilla.gnome.org/show_bug.cgi?id=648926
2011-04-29 10:11:05 -04:00
Benjamin Otte
5642703b0e notebook: Match horizontal and vertical code paths
I have no idea what this code does, but it looks better now. :o
2011-04-29 11:05:37 +02:00
Benjamin Otte
8e1714d59b notebook: Respect left border when allocating tab widgets
This mirrors the code for the other tab locations.
2011-04-29 11:05:36 +02:00
Benjamin Otte
409143637f notebook: Respect padding when computing tabs for left/right
This mirrors the top/bottom code
2011-04-29 11:05:36 +02:00
Benjamin Otte
9a4aec1446 Don't adjust for values that we have previously adjusted for
The padding had been taken into account by the computation of
priv->allocation, so don't compute it twice.
2011-04-29 11:05:36 +02:00
Benjamin Otte
02b14ffad9 notebook: Use the right padding for inactive tabs 2011-04-29 08:48:36 +02:00
Benjamin Otte
7962a4b716 window: Invert check that was wrong 2011-04-29 03:27:02 +02:00
Benjamin Otte
1c46e04f30 arrow: Make minimum size 5px, as opposed to the 15 it was before
Number chosen by staring out the window and counting visible stars.

This is necessary so that path bars don't underallocate the arrow widget
they use.
2011-04-28 22:21:45 +02:00
Benjamin Otte
5b1ca9dfa8 widget: Allow underallocation for scrollables
Also document this fact.
2011-04-28 22:21:45 +02:00
Benjamin Otte
2eac1ac73b docs: Fix liststore docs
gtk-doc was very unhappy. It's not anymore
2011-04-28 22:21:45 +02:00
Benjamin Otte
7e2eed8c1b widget: Update underallocation warning
Also print the parent widget. As the parent's size_allocate
implementation is usually the culprit for this warning happening, it
makes sense to print it.
2011-04-28 22:21:45 +02:00
Benjamin Otte
6e3b4af3c5 paned: Move showing of the handle from realize() to map()
Also only show the paned if it's actually supposed to be visible.
2011-04-28 22:21:45 +02:00
Benjamin Otte
3e9664ce65 paned: Remove needless check 2011-04-28 22:21:45 +02:00
Kizito Birabwa
c3ac782fd3 Updated Luganda translation 2011-04-28 20:29:03 +01:00
Benjamin Otte
92f9892cca widget: Warn when allocation for gtk_widget_size_allocate() is too small
Widgets may not be underallocated, it is the responsibility of the
caller to ensure this never happens.
2011-04-28 05:13:30 +02:00
Benjamin Otte
7a322193e8 notebook: Warn if builder file defines multiple tab widgets per page
Glade causes such files when a notebook page has no content. And it's
especially bad because the last tab widget wins, so the label displayed
in Glade will not be what you see when you run the app.
2011-04-28 00:54:34 +02:00
Giorgos Stephanakis
f6fc816497 l10n: Updated Greek translation for gtk+ 2011-04-27 23:20:24 +03:00
Benjamin Otte
38ea7abaae recentchooser: Fix default size setting
Set the min content size on the scrolled window instead of using
gtk_widget_set_size_request() on a widget where it's not recognized.
2011-04-27 19:59:02 +02:00
Benjamin Otte
1763b3a0b5 window: Make comparison be the right direction
Messed something up there...
2011-04-27 15:27:52 +02:00
Benjamin Otte
187f91eb90 label: Don't crash when a builder file contains unknown attributes 2011-04-27 00:43:16 +02:00
Benjamin Otte
8331b45a5f grid: Fix homogeneuous properties being flipped 2011-04-27 00:42:44 +02:00
Benjamin Otte
0094621e82 cssprovider: #include gio
We reference GFile...
2011-04-27 00:42:44 +02:00
Benjamin Otte
c7e5d0c63d tooltip: Use the actual size of the window we're going to show
It's easy by realizing the window first.

Don't try to guess the alorithm used by gtkwindow.c for sizing the
window, it might not be what we expect.
2011-04-27 00:27:29 +02:00
Benjamin Otte
85aebe74cf window: Be smarter about computing the default size
See the code comments for the reasoning behind this. After we don't
force a "guessed" minimum size for labels anymore, a lot of issues
started to surface that this patch attempts to fix. In particular:

1) Tooltips where wrapped as much as possible.
2) The recentchooser submenu displayed only ellipsize dots.
2011-04-27 00:27:29 +02:00
Benjamin Otte
08b2ac1d90 window: Split out size guessing function
This doesn't do anything special yet, but I'm about to change that.
2011-04-26 23:15:19 +02:00
Benjamin Otte
6e6837a130 window: Use int instead of uint consistently 2011-04-26 22:44:43 +02:00
Chun-wei Fan
9d59926c6f VS2010 support-update property sheet
Update the Gdk-Pixbuf 2.0 include path to be consistent with
autotools-based builds
2011-04-27 01:02:07 +08:00
Chun-wei Fan
61a74fbd61 VS2008/2010 support: Update README.txt
-Make the GDK-Pixbuf requirements more clear
-Tell people about the usage of ATK-2.x
2011-04-27 00:53:16 +08:00
Chun-wei Fan
527a299fdd Bug 643270: VS2010 Project Files (autotools)
-Update to distribute the VS2010 files.
-Added rules in Makefile.am's of GDK and GTK to fill in the
 project/filter files templates with up-to-date source file
 listings to simplify maintenace.

Any comments on the usage of the VS2010 files are welcome!
2011-04-27 00:48:05 +08:00
Chun-wei Fan
343d24c348 Bug 643270: VS 2010 Project Files
These are the VS2010 Project files to compile GDK and GTK+, using
the Win32 backend, along with a brief README.txt explaining the
process.

The GDK and GTK project/filter files are templates that are filled
in during "make dist" with up-to-date source file listings as far
as possible, to simplify maintenance.

Comments on their usage are most welcome.
2011-04-27 00:48:04 +08:00
Benjamin Otte
9bb145a677 widget: Add hack to make label mnemonics work again
Mnemonics for characters that go beyond the baseline (q, y, g) were not
being shown, because they are drawn outside of the label's allocated
size.
This patch just disables the clip-to-size for labels, so that the label
can draw outsize of its allocation. In most cases, that works around
this bug.

https://bugzilla.gnome.org/show_bug.cgi?id=648570
2011-04-26 14:15:34 +02:00
Matthew Barnes
7ae4a06d1f GtkComboBox: Improve gtk_combo_box_set_active_id
- Passing a NULL ID string should be equivalent to
  gtk_combo_box_set_active (combo_box, -1).
- Use g_strcmp0() instead of strcmp() when comparing
  ID strings to avoid a crash when an ID is NULL.
- Return a boolean indicating if the ID was found or not.

https://bugzilla.gnome.org/show_bug.cgi?id=647806
2011-04-26 07:59:53 -04:00
Matthew Barnes
54c3f05848 Desensitize "Select All" when GtkEntry is empty
This avoids possible confusion in some situations, and
selecting an empty string is not very useful.

https://bugzilla.gnome.org/show_bug.cgi?id=647962
2011-04-26 07:56:09 -04:00
Matthias Clasen
7d3693b82b GtkEntry: Explicitly disconnect keymap signals
Might fix https://bugzilla.gnome.org/show_bug.cgi?id=648419
2011-04-26 07:48:27 -04:00
Chun-wei Fan
13cff6ddce VS2008 support: Process filechooser gsettings xml
This will copy the xml file and compile it so that the GTK+3 filechooser
can be used on Windows, especially the MSVC-compiled versions.
2011-04-25 15:05:02 +08:00
Abduxukur Abdurixit
099e1afadc Added UG translation 2011-04-24 21:36:40 +02:00
Abduxukur Abdurixit
5600214b90 Added UG translation 2011-04-24 21:28:59 +02:00
Javier Jardón
ac4c12ff60 tests: Use gtk_box_new() instead v/h subclasses 2011-04-22 14:44:02 +01:00
Benjamin Otte
bf41392861 label: Fix an invariant leading to required > minimum 2011-04-22 02:51:52 +02:00
Michael Natterer
6c24a25751 gdk: add precondition checks to all GdkKeymap functions
so it warns instead of simply crashing. Also fix some whitespace
stuff.
2011-04-21 23:54:52 +02:00
Alberto Ruiz
953112f91f Adding allow-none introspection annotation for GtkInitFunc parameters 2011-04-20 20:11:11 +01:00
Alberto Ruiz
d78ace6c34 Adding introspection annotation to GtkModuleIinitFunc to specify array and length parameters 2011-04-20 20:06:14 +01:00
Javier Jardón
58b2e9caaf docs: Do not generate the template files anymore
All the documentation is now in inline comments
2011-04-20 12:21:57 +01:00
Benjamin Otte
da1f618b09 entry: Translate progress region properly when drawing text 2011-04-19 22:18:19 +02:00
Benjamin Otte
76294fcf1d entry: No need to queue a redraw on state changes
GtkWidget already does that.
2011-04-19 22:18:19 +02:00
Benjamin Otte
2d58625e02 entry: Also update cached style values when the state changes 2011-04-19 22:18:19 +02:00
Benjamin Otte
66dc6ea150 entry: Initialize cached values 2011-04-19 22:18:19 +02:00
Benjamin Otte
a9a2a08162 entry: g_object_notify*( when we change the invisible char 2011-04-19 22:18:19 +02:00
Benjamin Otte
0aae66c15e entry: Split out style-updating things into their own function 2011-04-19 22:18:19 +02:00
Benjamin Otte
72ebc788a6 entry: Move cairo_save() call for clarity
We want save, clip, draw1, restore, save, clip, draw2, restore
and not save, save, clip, draw1, restore, clip, draw2, restore

Functionally the same thing, but not as obvious
2011-04-19 22:18:19 +02:00
Benjamin Otte
6fee78341a entry: Omit useless clip
We do the same clip further above, so no need to repeat it
2011-04-19 22:18:19 +02:00
Benjamin Otte
033d204b9e entry: Guard clipping with a save/restore
Just t be sure, so people don't get bugs later when they refactor code.
2011-04-19 22:18:18 +02:00
Benjamin Otte
c70698084c entry: Remove needless check
The only window we're ever called to draw is our own window. D'oh.
2011-04-19 22:18:18 +02:00
Benjamin Otte
10fd53970c docs: Strictify the docs for gtk_cairo_should_draw_window()
We don't actually enforce the docs, but we will in the future. (in fact,
I only added this because widgets were doing stupid things.)
2011-04-19 22:18:18 +02:00
Benjamin Otte
9bd206a65c label: No need to special case single-line mode
It's already taken care of by the layout.
2011-04-19 22:18:18 +02:00
Benjamin Otte
38676ef718 label: Request more natural size for ellipsizing wrapping labels 2011-04-19 22:18:18 +02:00
Benjamin Otte
484e04aed2 label: Pass the desired height to measuring layout
We always pass -1 for now.
2011-04-19 22:18:18 +02:00
Benjamin Otte
403815f96f label: Remove wrap width leftovers
They're not used anymore, so we can just delete all of this code.
2011-04-19 22:18:18 +02:00
Benjamin Otte
2ecab7b90d label: Set the height of the label when ellipsized or wrapped
Obviously, we want to set it to the label's allocated height.

Also simplifies the size allocation code.
2011-04-19 22:18:18 +02:00
Benjamin Otte
5cb260075e label: Don't use a rectangle variable if we don't use a rectangle 2011-04-19 22:18:18 +02:00
Benjamin Otte
26b2f3127a label: Redo size computation
This gets use closer to the label sizing discussed on the mailing lists.
2011-04-19 22:18:18 +02:00
Benjamin Otte
8e34bff045 label: Set wrap on the layout unconditionally 2011-04-19 22:18:18 +02:00
Benjamin Otte
ffb23fb827 label: Remove duplicated comment 2011-04-19 22:18:18 +02:00
Benjamin Otte
c8ce1106c1 label: Don't try to guess a label's size
People should use window default sizes or label
width-chars/max-width-chars to find the idea layout for a label inside
of relying on magic.
2011-04-19 22:18:18 +02:00
Benjamin Otte
b5dc24fd28 widget: Make gtk_widget_get_aux_info() private 2011-04-19 22:18:18 +02:00
Benjamin Otte
c7cae341a1 label: Don't care about aux info
aux info is something that GtkWidget should do, not any of its
subclasses.
2011-04-19 22:18:18 +02:00
Benjamin Otte
4000d65ee3 paned: Use hfw queries during allocation 2011-04-19 22:18:17 +02:00
Benjamin Otte
116a104970 paned: Cleanup size_allocate()
Don't keep the allocation in 2 variables, just keep the first one.
2011-04-19 22:18:17 +02:00
Benjamin Otte
392c0dc145 paned: Implement get_width_for_height() and get_height_for_width() 2011-04-19 22:18:17 +02:00
Benjamin Otte
a45c599543 paned: Generalize code
No semantic changes, just splitting out a common function and passing a
-1 around.
2011-04-19 22:18:17 +02:00
Gintautas Miliauskas
09cbf24e72 Updated Lithuanian translation. 2011-04-19 13:59:58 +02:00
Javier Jardón
5f3e73eae3 Move documentation to inline comments: GtkRc
The last one!
2011-04-19 11:51:06 +01:00
Lapo Calamandrei
ce80929b83 [broadway] New adwaita based css for "wm"
Created by Lapo Calamandrei.
2011-04-19 08:30:21 +02:00
Alexander Larsson
dc56a51cec [broadway] Remove debug spew 2011-04-18 20:51:53 +02:00
Alexander Larsson
cfd8150759 [broadway] Use cairo to generate png uris 2011-04-18 20:51:53 +02:00
Alexander Larsson
0abd5e2767 [broadway] Stream data over websocket
The zlib compressed xmlhttprequest thing was a nice hack, but it doesn't
really work in production. Its not portable, doesn't have enought API
(missing notification for closed sockets) and having to synchronize
between two different connections in a reliable way is a pain.

So, we're going everything over the websocket. This is a pure switch,
but after this we want to modify the protocol to work better over
the uncompressed utf8 transport of websockets.
2011-04-18 20:51:53 +02:00
Alexander Larsson
2cb9ce954e [broadway] Remove old demo code 2011-04-18 20:51:53 +02:00
Javier Jardón
edd186e274 Move documentation to inline comments: GtkUIManager 2011-04-18 18:55:34 +01:00
Alexander Larsson
02e9b97981 [broadway] Implement wm close in browser 2011-04-18 11:50:29 +02:00
Alexander Larsson
52074b4cac [broadway] Report most special keys in keypressed
Some special key keycode values as seen in keydown actually match
normal keys (like "." has a keyCode 46 on keyPress, which is the same
as Delete, but 190 for KeyDown). So we must match the special keys on
keypress. However, some things must be checked on keydown as they are not
generating keypress events.
2011-04-18 10:55:41 +02:00
David King
e279210522 widget: add Since tags for margin accessors 2011-04-18 08:22:54 +02:00
Matthias Clasen
dd73be389b Fix commit 5f55c42047
Make gtk_menu_shell_activate static and don't use it
outside gtkmenushell.c
2011-04-17 23:15:06 -04:00
Chun-wei Fan
c4010ec039 Update build/win32/vs9/README.txt
Update again due to the usage of ATK-2.x to avoid confusion
about its usage in compilation...
2011-04-18 10:16:01 +08:00
Javier Jardón
5ae68baaf2 docs: Remove no longer needed template files 2011-04-18 02:08:38 +01:00
Javier Jardón
d2d42f9bfc Move documentation to inline comments: GtkMenuItem 2011-04-18 02:08:37 +01:00
Javier Jardón
93522ce25f Move documentation to inline comments: GtkFontSelectionDialog 2011-04-18 02:08:37 +01:00
Javier Jardón
9d63d16e3e Move documentation to inline comments: GtkWindowGroup 2011-04-18 02:08:37 +01:00
Javier Jardón
f7b7e8a6b8 Move documentation to inline comments: GtkDnd 2011-04-18 02:08:37 +01:00
Javier Jardón
911ae50956 Move documentation to inline comments: GtkTreeModelSort 2011-04-18 02:08:37 +01:00
Javier Jardón
b83a4f2e1d Move documentation to inline comments: GtkToggleButton 2011-04-18 02:08:37 +01:00
Javier Jardón
5ff0fb6bbd Move documentation to inline comments: GtkSizeGroup 2011-04-18 02:08:37 +01:00
Javier Jardón
0553a5524d Move documentation to inline comments: GtkTextBuffer 2011-04-18 02:08:36 +01:00
Javier Jardón
138409faae Move documentation to inline comments: GtkPrintUnixDialog 2011-04-18 02:08:36 +01:00
Javier Jardón
14f12a4b1b Move documentation to inline comments: GtkPrintSettings 2011-04-18 02:08:36 +01:00
Javier Jardón
25c2569a5d Move documentation to inline comments: GtkPrintContext 2011-04-18 02:08:36 +01:00
Javier Jardón
c029306b4c Move documentation to inline comments: GtkRadioMenuItem 2011-04-18 02:08:36 +01:00
Javier Jardón
c9af14678e Move documentation to inline comments: GtkTextMark 2011-04-18 02:08:36 +01:00
Javier Jardón
7ee963c260 Move documentation to inline comments: GtkRadioToolButton 2011-04-18 02:08:36 +01:00
Chun-wei Fan
b810bc88ec Update VS 2008 support to use ATK-2.0
-Update GTK+ project and property sheet to use ATK-2.0.
-Tell people about this in the README.txt file
2011-04-18 01:57:37 +08:00
Chun-wei Fan
11ba5c209b Update build/win32/vs9/README.txt
Make the VS 2008 build instructions and information
more up-to-date and clearer to people.

Please let me know if I have missed any needed details...
Thanks
2011-04-18 00:17:51 +08:00
Paolo Borelli
1ad1c33f52 Small cleanup in label sizing code.
Move ellipsized_chars calculation in the scope where it is used.

https://bugzilla.gnome.org/show_bug.cgi?id=647284
2011-04-17 17:23:26 +02:00
Paolo Borelli
af7650ce1f Factor out a get_char_pixels method for clarity.
https://bugzilla.gnome.org/show_bug.cgi?id=647284
2011-04-17 17:16:47 +02:00
Ignacio Casal Quinteiro
76a571b61e [textview] remove idles when unmapping
This avoids the textview taking the whole cpu when it is hidden.
2011-04-17 16:10:48 +02:00
Benjamin Otte
49c7869582 docs fix typo
Was accidentally introduced in 1351d40cfe

Thanks Paolo for noticing.
2011-04-17 12:49:58 +02:00
Kristian Rietveld
874dfc24b2 treeview: Do not unconditionally set width_changed to TRUE, which redraws
Patches by Benjamin Otte.

The "invalidate last column" hack is removed.  It is now of no use since
the entire widget will be redrawn when a single column changes.
2011-04-17 01:14:51 +02:00
Kristian Rietveld
4d5d915afe treeview: if we are below rows that changed height: redraw
We have to redraw if we are below a couple of rows that changed height
in do_validate_rows().  This will still require a redraw for a large
amount of cases, can we do better?  You would expect that a redraw of
the tree view is not required when the dy changes with the same delta
as the delta of the height accrued when validating the nodes.  This
further optimization will likely require changes to the top_row/dy
synchronization code.
2011-04-17 01:14:51 +02:00
Kristian Rietveld
4594370b46 treeview: Avoid queueing a redraw in do_validate_rows()
If the changed rows are not visible, we likely do not have to redraw
in conjunction to resize.  Spotted by Benjamin Otte.
2011-04-17 01:14:51 +02:00
Benjamin Otte
a5e1337ad7 cssprovider: Move private struct definition to header
consistency, improved debugging, etc
2011-04-16 22:31:25 +02:00
Benjamin Otte
1351d40cfe entry: Fix gtk_entry_get_icon_at_pos()
The passed in coordinates are widget-relative, not window-relative.
2011-04-16 22:31:24 +02:00
Benjamin Otte
f2a20cd9fd entry: Use the new get_frame_size() argument in gtk_entry_draw_frame() 2011-04-16 22:31:24 +02:00
Benjamin Otte
fd9aac8225 entry: Add the ability to query frame size in two ways
TRUE: relative to widget->window
FALSE: relative to widget

For now, no caller has beeen changed.
2011-04-16 22:31:24 +02:00
Benjamin Otte
7ef113ce56 window: Only draw the resize grip if it is actually visible
This issue can only be seen if someone calls gtk_widget_draw() on the
window as otherwise gtk_cairo_should_draw_window() would return FALSE.
2011-04-16 22:31:24 +02:00
Benjamin Otte
71e9606e16 docs: Fix wrong description for query-tooltip
Coordinates are not relative to widget->window
2011-04-16 22:31:24 +02:00
Benjamin Otte
e29cceb391 menushell: Include a function in the private header
Don't copy over the implementation. This avoids a copy of the function.
Reverts 0098344f84.
2011-04-16 22:28:40 +02:00
Benjamin Otte
6b712ac93b window: cast value so gcc shuts up 2011-04-16 22:06:41 +02:00
Kristian Rietveld
84ebafc305 Merge two if-blocks with same condition 2011-04-16 20:16:03 +02:00
Xavier Claessens
00fa4a2fc0 Do not call invalidate_empty_focus() when not realized
Fixes bug 626503
2011-04-16 20:13:51 +02:00
Stéphane Maniaci
e3ce60cc2d Make GtkFileChoser remember the last directory opened
Introduces a 'last-folder-uri' GSettings key, where we remember the last-opened
folder from the previous instance of the file chooser.

The idea is that this works globally, across all applications, so it will be
easy to do things like

  1. Save an attachment from a mail (or some other file)
  2. Open another program
  3. Do File/Open and automatically get sent to the folder where (1) happened.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=644426
2011-04-15 15:34:22 -05:00
Alexander Larsson
1fdd4915fc [broadway] Make close button text unselectable 2011-04-15 20:34:32 +02:00
Alexander Larsson
7f14b8bedf [broadway] Implement gdk_window_begin_resize_drag
This makes the resize grip work.
2011-04-15 20:34:32 +02:00
Alexander Larsson
c331d397f0 [broadway] Remove window from hashtable when destroyed 2011-04-15 20:34:32 +02:00
Alexander Larsson
66231a29b8 [broadway] Ungrab if grabbed window is destroyed 2011-04-15 20:34:32 +02:00
Alexander Larsson
22c250e324 [broadway] Correctly handle ungrabs in the browser side
Always call doUngrab to get the right event, and always do this
if the grabbed window is hidden or destroyed.
2011-04-15 20:34:31 +02:00
Chun-wei Fan
0098344f84 Update gtk/gtkmenuitem.c...
Copy over the implementation of _gtk_menu_shell_activate
so that C4013 warning/error (aka gcc's "implicit
declaration of ...") can be avoided when compiling with MSVC

This is in response of the changes for bug 554057 in commit
5f55c42047
2011-04-16 00:42:08 +08:00
Paolo Borelli
3e6af07f46 Free MenuPopulateData struct in all the cases.
For clarity factor out create/free functions.

https://bugzilla.gnome.org/show_bug.cgi?id=646876
2011-04-15 11:11:17 +02:00
Javier Jardón
09efa564cb Move documentation to inline comments: GtkHSV 2011-04-15 02:14:14 +01:00
Javier Jardón
b398f96bed Move documentation to inline comments: GtkMenuToolButton 2011-04-15 02:14:14 +01:00
Javier Jardón
c0b3bfd7b6 Move documentation to inline comments: GtkToolButton 2011-04-15 01:41:13 +01:00
Javier Jardón
c1e8577a66 Move documentation to inline comments: GtkLabel 2011-04-15 01:41:13 +01:00
Javier Jardón
c5a760ad2b Move documentation to inline comments: GtkListStore 2011-04-15 01:41:13 +01:00
Javier Jardón
0dd93537b3 Move documentation to inline comments: GtkIconTheme 2011-04-15 01:41:13 +01:00
Matthias Clasen
b097729d5a Don't leak a list when activating keybindings
Patch by Rui Matos,
https://bugzilla.gnome.org/show_bug.cgi?id=647790
2011-04-14 20:22:18 -04:00
Alexander Larsson
887743728f [broadway] Handle keyboard modifiers in state 2011-04-14 21:36:42 +02:00
Alexander Larsson
01da867dac [broadway] Emulate hardware keycodes in keyboard events
We can't really know the client side keymaps, so we use the keysym
as the hardware keycode (essentially claiming to have a keyboard with
one key for all possible keysyms). This is not ideal, but its hard to
do better with no knowledge of the client side keyboard mappings.
(And html keyboard events suck badly...)
2011-04-14 21:36:42 +02:00
Alexander Larsson
7d37534ee2 [broadway] Implement keyboard event better
We're using the noVNC keyboard even handling model (and some of the
code with permissions). This means we combine data from keydown and
keypress to figure out the translated keysyms according to the keyboard
layout at the users machine.
2011-04-14 21:36:42 +02:00
Chun-wei Fan
f9ad0c61b2 Add gdk_win32_window_get_type into gdk.symbols
This symbol needs to be exported for GDK (Win32) so that the
runtime checks for Win32 backend usage can be done on
MSVC-compiled versions of GTK+ too.

I did not add the corresponding symbols for the other backend
though-they are probably exported automatically by GCC AFAIK.

This is done to make commit
9db4accf9c
work on MSVC
2011-04-14 23:48:49 +08:00
Benjamin Otte
8632ec43eb label: we can't ignore sizes on ellipsized labels
So don't use this optimization when a label is ellipsized.

https://bugzilla.gnome.org/show_bug.cgi?id=646517
2011-04-14 14:59:24 +02:00
Benjamin Otte
0a23796f5d cssprovider: Use g_type_depth() instead of computing the depth manually 2011-04-14 14:59:24 +02:00
Benjamin Otte
dcae3598b3 sizerequest: return CONSTANT_SIZE in return_if_fail() 2011-04-14 14:59:24 +02:00
Benjamin Otte
616e6d1565 testgtk: Make it possible to stop the progressbar from updating
This way, I can check that my invalidation fixes actually work.
2011-04-14 14:59:24 +02:00
Matthias Clasen
c43ada95aa GtkTimeline: don't look when animations are disabled
Otherwise, we end up doing maximal work with minimal effect, and
bring the X server to 100% CPU. Note that this makes spinner widgets
look really unclear, but they really have to be changed to adapt
to enable-animations == FALSE at the widget level.
2011-04-14 08:58:48 -04:00
Javier Jardón
dd28e22aa1 Move documentation to inline comments: GtkIconFactory 2011-04-14 00:07:42 +01:00
Javier Jardón
6ec9ba2aad Move documentation to inline comments: GtkHandleBox 2011-04-14 00:07:42 +01:00
Javier Jardón
39179e3402 Move documentation to inline comments: GtkFontSelection 2011-04-14 00:07:42 +01:00
Javier Jardón
fe65ec5b87 Move documentation to inline comments: GtkFileChooserDialog 2011-04-14 00:07:42 +01:00
Javier Jardón
2da9a5791f Move documentation to inline comments: GtkFileChooserButton 2011-04-14 00:07:42 +01:00
Javier Jardón
fbb57d301d Move documentation to inline comments: GtkToggleToolButton 2011-04-14 00:07:42 +01:00
Matthias Clasen
fd48df53d1 Bump version 2011-04-13 18:15:43 -04:00
Matthias Clasen
4a6f5a6247 Fix make dist in gdk/broadway 2011-04-13 17:48:48 -04:00
Kristian Høgsberg
f75ea21dcd wayland: Remove non-existing gdkscreen-wayland.h from SOURCES 2011-04-13 14:34:26 -04:00
Matthias Clasen
b2d3055624 Add new symbols 2011-04-13 14:24:18 -04:00
Matthias Clasen
6c0c63cc53 Add new symbols to the docs
And add a 'Since 3.2' index too.
2011-04-13 14:09:39 -04:00
Matthias Clasen
b333854cd7 Add a bug ref 2011-04-13 13:35:36 -04:00
Matthias Clasen
5f55c42047 GtkMenuShell: always 'activate' menu shells
Failing to do so can leave us with a stuck grab in some cases.
https://bugzilla.gnome.org/show_bug.cgi?id=554057
2011-04-13 13:28:46 -04:00
Matthias Clasen
f771a641e2 Updated NEWS 2011-04-13 11:43:12 -04:00
Matthias Clasen
ade72ed0a1 Fix a link in README
Patch by Thomas Andersen
https://bugzilla.gnome.org/show_bug.cgi?id=647594
2011-04-13 11:43:12 -04:00
Javier Jardón
9e26102704 Move documentation to inline comments: GtkColorSelectionDialog 2011-04-13 14:36:28 +01:00
Javier Jardón
b0977dcef9 docs: Fix a typo: gtk_style_get_context -> gtk_style_has_context 2011-04-13 13:56:16 +01:00
Javier Jardón
85b356da10 Move documentation to inline comments: GtkClipboard 2011-04-13 12:48:47 +01:00
Javier Jardón
bc6472905d Move documentation to inline comments: GtkCheckMenuItem 2011-04-13 12:32:47 +01:00
Javier Jardón
7b2113fd32 Move documentation to inline comments: GtkCheckButton 2011-04-13 12:25:06 +01:00
Javier Jardón
5d106e6ee5 Move documentation to inline comments: GtkTable 2011-04-13 02:12:40 +01:00
Javier Jardón
94e977538d Move documentation to inline comments: GtkStatusIcon 2011-04-13 02:02:43 +01:00
Javier Jardón
8a2c942f3d Move documentation to inline comments: GtkHButtonBox 2011-04-13 02:02:43 +01:00
Javier Jardón
7f504fdfa0 Move documentation to inline comments: GtkFrame 2011-04-13 02:02:43 +01:00
Cosimo Cecchi
1263fdbd67 combobox: always give the full allocation to the button in menu mode
The button is what draws the background/frame outline of the combobox,
and padding is defined as the spacing *inside* the widget between the
border and the content.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:36 -04:00
Cosimo Cecchi
6116bcb78e combobox: rename border->padding for code clarity
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:35 -04:00
Cosimo Cecchi
cfb54d81bd combobox: allocate the right border to the arrow and not to the label
When the combobox is in menu mode, the right padding of the togglebutton
inside, should be allocated to its rightmost children, which is the
arrow.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:34 -04:00
Cosimo Cecchi
bb038d4dd4 combobox: don't use the border as a padding
This causes the combobox to behave badly from the theme.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:33 -04:00
Cosimo Cecchi
2613e412d7 combobox: don't add the button style class to the whole widget
It already has a toggle button inside, and this way we cannot theme them
separately.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:32 -04:00
Cosimo Cecchi
b1d08fe0e9 button: don't use the border values for padding
It's wrong, and makes it impossible to theme the button properly.

https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:31 -04:00
Cosimo Cecchi
f1a7be7f57 button: make gtk_button_get_props() return the padding too
https://bugzilla.gnome.org/show_bug.cgi?id=646882
2011-04-12 17:14:29 -04:00
Dan Winship
b5d678dab0 gtk_window_present_with_time: fix when window is not initially visible
When called on a hidden window, gtk_window_present_with_time() would
just fall back to gtk_widget_show(), completely ignoring the passed-in
timestamp. This ended up working anyway if the timestamp came from
in-process, since gdk_window_x11_show() would initialize its user_time
from the time of the most recent event. But if the timestamp came from
another process, this would result in the window being shown with an
out-of-date timestamp.

Fix this by remembering the timestamp from
gtk_window_present_with_time(), and then setting the GdkWindow's
user_time from that when it the window is realized.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 13:03:38 -04:00
Dan Winship
91b5223001 GdkDeviceManagerXI2: don't set user_time on ButtonRelease
The XI2 device manager was mistakenly setting the window user_time on
both ButtonPress and ButtonRelease, which meant that processes that
tried to launch another process based on the time of a ButtonPress
event would end up always focus-stealing-preventing the new app.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 12:53:47 -04:00
Matthias Clasen
304989291d GtkWidgetPrivate: Improve struct packing 2011-04-12 12:50:30 -04:00
Matthias Clasen
28e87c8f97 GtkTreeModelFilterPrivate: Improve struct packing 2011-04-12 12:50:05 -04:00
Matthias Clasen
0e58ec7dcd GtkToolItemGroupPrivate: Improve struct packing 2011-04-12 12:49:40 -04:00
Matthias Clasen
93203ca2f6 GtkToolItemPrivate: Improve struct packing 2011-04-12 12:49:16 -04:00
Matthias Clasen
900ea46add GtkToolbarPrivate: Improve struct packing 2011-04-12 12:48:55 -04:00
Matthias Clasen
a1f200426b GtkTextViewPrivate: Improve struct packing 2011-04-12 12:48:30 -04:00
Matthias Clasen
a603a2a2ba GtkTextBufferPrivate: Improve struct packing 2011-04-12 12:48:02 -04:00
Matthias Clasen
6f09126343 GtkTextBTreeNode: Improve struct packing 2011-04-12 12:46:28 -04:00
Matthias Clasen
7629ee7ad0 GtkStyleContextPrivate: Improve struct packing 2011-04-12 12:45:51 -04:00
Matthias Clasen
1f4dd57328 GtkSpinButtonPrivate: Improve struct packing 2011-04-12 12:45:28 -04:00
Matthias Clasen
fa1b967d4a GtkScrolledWindowPrivate: Improve struct packing 2011-04-12 12:42:37 -04:00
Matthias Clasen
93ed62e69c GtkRangePrivate: Improve struct packing 2011-04-12 12:42:14 -04:00
Matthias Clasen
e564d36deb GtkProgressBarPrivate: Improve struct packing
Also remove the unused blocks and in_block members.
2011-04-12 12:40:30 -04:00
Matthias Clasen
f572a4670d GtkPanedPrivate: Improve struct packing 2011-04-12 12:37:55 -04:00
Matthias Clasen
fdac246ed2 GtkNumerableIconPrivate: Improve struct packing 2011-04-12 12:35:17 -04:00
Matthias Clasen
f3865a2011 GtkMenuItemPrivate: Improve struct packing 2011-04-12 12:34:53 -04:00
Matthias Clasen
24a07deece GtkListStorePrivate: Improve struct packing 2011-04-12 12:34:29 -04:00
Matthias Clasen
8377ecd694 GtkLabelPrivate: Improve struct packing 2011-04-12 12:34:11 -04:00
Matthias Clasen
a65e25df83 GtkImagePrivate: Improve struct packing 2011-04-12 12:33:45 -04:00
Matthias Clasen
6c9f20e58d GtkIconViewPrivate: Improve struct packing 2011-04-12 12:33:24 -04:00
Matthias Clasen
800fff748b GtkIconThemePrivate: Improve struct packing 2011-04-12 12:33:04 -04:00
Matthias Clasen
b3ca94a44e GtkEntryBufferPrivate: Improve struct packing 2011-04-12 12:32:29 -04:00
Matthias Clasen
a4e52ece33 GtkCellViewPrivate: Improve struct packing 2011-04-12 12:32:04 -04:00
Matthias Clasen
a6db55b774 GtkCellRendererTextPrivate: Improve struct packing 2011-04-12 12:31:28 -04:00
Matthias Clasen
ea936d4237 GtkCellRendererPixbufPrivate: Improve struct packing 2011-04-12 12:30:36 -04:00
Matthias Clasen
92f1f0c118 GtkCellRendererAccelPrivate: Improve struct packing 2011-04-12 12:30:04 -04:00
Matthias Clasen
a2f005d9a0 GtkCellAreaBoxPrivate: Improve struct packing 2011-04-12 12:25:53 -04:00
Matthias Clasen
9a5d2a52d3 GtkButtonPrivate: Improve struct packing 2011-04-12 12:25:25 -04:00
Matthias Clasen
6ca6691966 GtkBoxPrivate: Improve struct packing 2011-04-12 12:24:56 -04:00
Matthias Clasen
b756743cdf GtkAppChooserWidgetPrivate: Improve struct packing 2011-04-12 12:24:34 -04:00
Matthias Clasen
39af7107b4 GtkAppChooserButtonPrivate: Improve struct packing 2011-04-12 12:24:05 -04:00
Matthias Clasen
2610e00de9 GtkAccelLabel: Improve struct packing 2011-04-12 12:23:35 -04:00
Matthias Clasen
611a67b350 GdkWindowImplX11: Struct packing improvements 2011-04-12 12:14:07 -04:00
Matthias Clasen
1c4cb29475 GdkX11Screen: Struct packing improvements 2011-04-12 12:13:56 -04:00
Matthias Clasen
879202b9c2 GdkX11DragContext: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
cef996d57e GdkX11DeviceXI: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
20c8b765a5 GdkScreen: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
220ba87ec0 GdkWindow: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
14ad1fab8e GdkDisplay: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
63c4bb5563 GdkCursor: Struct packing improvements 2011-04-12 12:13:55 -04:00
Kristian Høgsberg
c7514e8f0d Merge branch 'gdk-backend-wayland'
Conflicts:
	Makefile.am
	configure.ac
	gdk/Makefile.am
	gtk/gtksettings.c
	gtk/gtkwindow.c
2011-04-12 09:52:44 -04:00
Alexander Larsson
85c1c22d04 [broadway] Cancel key events after seeing them 2011-04-12 13:38:04 +02:00
Alexander Larsson
afdde925b8 [broadway] Fix canvas resize when resizing browser window
We always have to resize the canvas, even when its in a toplevel.
2011-04-12 11:34:13 +02:00
Alexander Larsson
20542b0ead [broadway] Fix typo 2011-04-12 11:21:47 +02:00
Alexander Larsson
f4bef2c720 [broadway] Combine window move and resize into one op
This way we avoid sending a configure event for the inbetween state
if we're resizeing and moving at the same time.
2011-04-12 11:12:39 +02:00
Alexander Larsson
ca49ec2c8c [broadway] Fix various js warnings 2011-04-12 11:12:39 +02:00
Alexander Larsson
840df5c7c1 [broadway] Add stacktrace debugging functions 2011-04-12 11:12:39 +02:00
Alexander Larsson
2934569781 [broadway] Always send configure events from browser
As soon as something changes, even if it was a request from the user
we send a configure event. If not we might race with a app-side
generated configure event.

For instance, a create + resize might create only a configure event for
the create in the browser, but that may get to the app after the app-side
configure event for the resize, overriding the new size.
2011-04-12 11:12:39 +02:00
Alexander Larsson
ddcbd8234b [broadway] When resyncing, first create all windows then set attributes
Some attributes (like transient parent) depende on other windows being
there, so we create all first.
2011-04-12 11:12:39 +02:00
Alexander Larsson
4bbc45380b [broadway] More complete handling of transient parent
We now handle any order of transient being set and windows shown/created
2011-04-12 11:12:39 +02:00
Alexander Larsson
75dc3f3a07 [broadway] Use mozInnerScreenX & co to get window position
This way we don't have to rely on any event, which won't work until
we get an event.
2011-04-12 11:12:38 +02:00
Alexander Larsson
8a7e208bb2 [broadway] Parse x/y as signed 2011-04-12 11:12:38 +02:00
Alexander Larsson
4cb979d6b9 [broadway] Update window geometry after showing window 2011-04-12 11:12:38 +02:00
Alexander Larsson
4c575ac343 [broadway] Don't cache surface.transientToplevel as that might change at various times 2011-04-12 11:12:38 +02:00
Matthias Clasen
3fbfd82e9e GtkWindow: rearrange private struct to fill some holes 2011-04-11 18:33:43 -04:00
Paolo Borelli
7fe3764f4d Small cleanup in statusbar
Factor out msg_create/free and use g_slist_free_full as appropriate.

https://bugzilla.gnome.org/show_bug.cgi?id=647278
2011-04-11 18:11:36 -04:00
Javier Jardón
518d030220 Move documentation to inline comments: GtkTearoffMenuItem 2011-04-11 23:07:41 +01:00
Javier Jardón
4a7400db99 Move documentation to inline comments: GtkCellRendererPixbuf 2011-04-11 23:07:41 +01:00
Javier Jardón
3990af227f Move documentation to inline comments: GtkCellRendererCombo 2011-04-11 23:07:41 +01:00
Javier Jardón
1f50a4d011 Move documentation to inline comments: GtkHSeparator 2011-04-11 22:33:38 +01:00
Javier Jardón
1f9f5e8890 Move documentation to online comments: GtkCellRendererSpin 2011-04-11 22:14:35 +01:00
Takayoshi OKANO
a1ae3f7fe1 Updated Japanese translation. 2011-04-11 23:17:53 +09:00
Alexander Larsson
7b3b4a6ad9 [broadway] Correctly track remote visible state
GDK_WINDOW_IS_MAPPED is not false for withdrawn windows, so we need
to track real visibility ourselves.
2011-04-11 12:09:43 +02:00
Alexander Larsson
33d16b16c9 [broadway] Clean up js side surface handling
* Always calculate the context, don't store in surface.
* Store the toplevel element (frame or canvas) for easy access.
* Always use visibility hidden rathern than display none to hide windows,
  as this means we can always rely on dom positioning info.
2011-04-11 12:09:43 +02:00
Alexander Larsson
27c4d104fb [broadway] Restack on window show to ensure all zIndexes are right 2011-04-11 12:09:43 +02:00
Alexander Larsson
c839f2910c [broadway] Store surface, not id in stackingOrder list 2011-04-11 12:09:43 +02:00
Alexander Larsson
ace1c4c284 [broadway] Set transient-for before showing window
When syncing windows, make sure we set transient-for before showing
the window to avoid it being visible with the wrong transient-for
(i.e. possibly on the wrong browser window).
2011-04-11 12:09:43 +02:00
Alexander Larsson
05dfb7f594 [broadway] Fix css typo
rgb takes 3 params, rgba takes four.
2011-04-11 12:09:43 +02:00
Alexander Larsson
7a197e5b65 [broadway] Fix up frame size calculation
Turns out that offsetTop/Left doesn't contain the border, so we need
to manually add that in.
2011-04-11 12:09:43 +02:00
Javier Jardón
ebda721f4e Move documentation to inline comments: GtkFileChooserWidget 2011-04-11 03:27:08 +01:00
Javier Jardón
62c878b0cd Move documentation to inline comments: GtkHScale 2011-04-11 03:27:08 +01:00
Javier Jardón
610d46d12e Move documentation to inline comments: GtkCellRendererAccel 2011-04-11 03:27:08 +01:00
Javier Jardón
de210bd2ae Move documentation to inline comments: GtkHScrollbar 2011-04-11 02:54:53 +01:00
Javier Jardón
5f7433a644 Remove unneded template: gtkimcontext.sgml 2011-04-11 02:51:46 +01:00
Javier Jardón
9dc0e7460e Move documentation to inline comments: GtkFontButton 2011-04-11 02:47:43 +01:00
Javier Jardón
fc0e045d92 Move documentation to inline comments: GtkCellRendererToggle 2011-04-11 02:42:54 +01:00
Javier Jardón
f7f7d4eee4 Move documentation to inline comments: GtkHPaned 2011-04-11 02:36:23 +01:00
Javier Jardón
735f3a23a4 Move documentation to inline comments: GtkInvisible 2011-04-11 02:31:56 +01:00
Javier Jardón
ca8d880a20 Move documentation to inline comments: GtkCellRendererProgress 2011-04-11 02:18:13 +01:00
Javier Jardón
3662744eaa Move documentation to inline comments: GtkMisc 2011-04-11 02:14:08 +01:00
Javier Jardón
f2fd3ee1d5 Move documentation to inline comments: GtkImageMenuItem 2011-04-11 02:13:02 +01:00
Alexander Larsson
2728cc9508 [broadway] Remove expensive transparency effects from css 2011-04-10 21:10:07 +02:00
Alexander Larsson
d6beabbff2 [broadway] Make the toplevel mode a url parameter 2011-04-10 20:16:13 +02:00
Alexander Larsson
fe79bbd618 [broadway] Position non-popup windows ourselves
We ignore the initial positions for non-popup windows, instead we
place the windows ourselves (or in the useToplevel mode by the WM).
2011-04-10 20:16:13 +02:00
Alexander Larsson
e5d8905cd2 [broadway] Fix up toplevel content visibility in useToplevel mode
surfaces.canvas may change if we move to another document, so
reupdate the element to show after ensureSurfaceInDocument.
2011-04-10 20:16:13 +02:00
Alexander Larsson
fadaced85f [broadway] Move window to top when moving 2011-04-10 20:16:13 +02:00
Alexander Larsson
618dc872b0 [broadway] Add some initial work for in-window frames
The css is based on work by Jasper St Pierre:
http://magcius.mecheye.net/vista/
2011-04-10 20:16:13 +02:00
Alexander Larsson
69eafcc3c5 [broadway] Fix some typos in the js code 2011-04-10 20:16:13 +02:00
Alexander Larsson
930e43c710 [broadway] Use the right doctype for html5 2011-04-10 20:16:13 +02:00
Tristan Van Berkom
d2303bafae Fix some crashes caused by unimplemented functions in GdkOffscreenWindow
These crashes happen when accessing GtkWindow properties and the
GdkWindow is an offscreen (fixes https://bugzilla.gnome.org/show_bug.cgi?id=647244)
2011-04-09 02:00:18 +09:00
Matthias Clasen
fbf1093d5c Free the translate queue when closing a display
Not that many people are ever going to hit this.
https://bugzilla.gnome.org/show_bug.cgi?id=645236
2011-04-08 21:34:25 -04:00
Matthias Clasen
9e6d3d969c Fix some possible crashes if the default display is NULL
Unlikely that many people will hit these, but still.
https://bugzilla.gnome.org/show_bug.cgi?id=645176
2011-04-08 21:20:26 -04:00
Matthias Clasen
32358a58f4 Avoid a warning out of the print dialog
Reported in https://bugzilla.gnome.org/show_bug.cgi?id=647152
2011-04-08 20:49:29 -04:00
Cosimo Cecchi
6261b8434f themingengine: don't set a line width before saving the cairo context
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:34:00 -04:00
Cosimo Cecchi
35479be43e separator: call gtk_style_context_restore() after drawing
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:33:59 -04:00
Cosimo Cecchi
b52394adca calendar: make sure to call gtk_style_context_restore()
https://bugzilla.gnome.org/show_bug.cgi?id=647086
2011-04-08 20:33:58 -04:00
Paolo Borelli
c4e17bb148 Do not leak list when drawing notebook.
When we construct the list in the other order we must free it.

https://bugzilla.gnome.org/show_bug.cgi?id=646886
2011-04-08 20:21:22 -04:00
Carlos Garnacho
db74a6e816 GdkDevice: Remove duplicate private function
_gdk_device_get_axis_use() dates back to pre-sealing, when the
xi2 work began, this remaining can be gone with a public
gdk_device_get_axis_use() function already in place.
2011-04-08 16:39:45 +02:00
Alexander Larsson
955f01cdf7 [broadway] Enable useToplevelWindow by default for now 2011-04-07 21:16:52 +02:00
Alexander Larsson
7128087cb4 [broadway] Implement selections 2011-04-07 20:21:22 +02:00
Alexander Larsson
cad40b24e2 [broadway] Remove unused hashtables 2011-04-07 20:20:51 +02:00
Alexander Larsson
9db4accf9c Make gtkclipboard.c:clipboard_get_timestamp multi-backend safe
We can't just check for the backend defines, we have to do runtime checks too.
2011-04-07 20:19:30 +02:00
Alexander Larsson
d12a9a5e99 [broadway] Add gdk_broadway_display_get_last_seen_time 2011-04-07 20:18:13 +02:00
Alexander Larsson
42cbed6759 [broadway] Fix up header guards to not refer to gdkx.h 2011-04-07 20:04:48 +02:00
Alexander Larsson
f0e1115f80 [broadway] Add gdkbroadway.h public header 2011-04-07 19:25:16 +02:00
Alexander Larsson
095ccf9c11 [broadway] Serialize event times
Event times come from the browser and may change weirdly when we reconnect
with another browser, so we normalize these to be strictly increasing
and with a 5 second gap for each reconnect.
2011-04-07 19:12:51 +02:00
Alexander Larsson
9d974ca13a [broadway] Fix typo in implicit grab support
We do an implicit grab if there is no grab already, not only if there is
one.
2011-04-07 15:26:37 +02:00
Alexander Larsson
dd07f534f4 [broadway] Handle screen size
Without this menu placement doesn't work right
2011-04-07 15:10:39 +02:00
Alexander Larsson
8c20b476df [broadway] Track and report last and future state
This fixes the drawing area demo in gtk-demo
2011-04-07 14:36:30 +02:00
Alexander Larsson
1a7b76d49d [broadway] Report mouse pointer coordinates right
The windows argument to device_query_state can be a client side
window, but we must only handle the "native" part of it (i.e.
window->impl->wrapper).
2011-04-07 14:29:26 +02:00
Alexander Larsson
43aac66458 [broadway] Fix all unnecessary warnings 2011-04-07 10:03:17 +02:00
Alexander Larsson
3b1fe05e78 [broadway] Wire up the delete event 2011-04-07 10:03:17 +02:00
Alexander Larsson
06fc6e007e [broadway] Report right root coors in toplevel mode 2011-04-07 10:03:17 +02:00
Alexander Larsson
adc05ae6b7 [broadway] Add configure event for browser-side geometry changes
Atm this only works for the useToplevelWindows case, but we can add
a browser wm to make use of it inside the browser too.
2011-04-07 10:03:17 +02:00
Alexander Larsson
1365e93fad [broadway] Add experimental toplevel window mode
This mode makes each toplevel window get its own browser window, with
popup windows using the browser window of their transient parent.

Its not idea, as you can't get rid of all browser chrome by default, and
it means popups (like menus) can't extend outside the toplevels. But, it is
kinda cool.
2011-04-07 10:03:17 +02:00
Alexander Larsson
8831efa735 [broadway] Fixup ungrab reference to old time variable 2011-04-07 10:03:17 +02:00
Alexander Larsson
05bda376f6 [broadway] Break out document setup into its own function
In the future we might have more documents (one per toplevel browser
window).
2011-04-07 10:03:17 +02:00
Alexander Larsson
06ad0f52e2 [broadway] Remove unused grab.time on browser side 2011-04-07 10:03:17 +02:00
Alexander Larsson
f53771cc1d [broadway] Break out all command handling to separate functions
We don't want to mix up the argument parsing with the actual implementation.
2011-04-07 10:03:17 +02:00
Alexander Larsson
7c20d59411 [broadway] Make the surface object a plain js object, not the context 2011-04-07 10:03:17 +02:00
Alexander Larsson
9f848aaf30 [broadway] Centralize surface creation code in js 2011-04-07 10:03:17 +02:00
Alexander Larsson
199cd1548f [broadway] Track window type in browser 2011-04-07 10:03:17 +02:00
Alexander Larsson
9c5c4223e3 [broadway] Track transient_for 2011-04-07 10:03:17 +02:00
Alexander Larsson
e1dcd6735e [broadway] Remove unused query pointer message 2011-04-07 10:03:16 +02:00
Alexander Larsson
5b645357d6 [broadway] Don't roundtrip for getting current pointer location
Roundtrips are bad, and this gets called a lot, so we use all currently
availible future info to "emulate" a full roundtrip, but with much lower
cost.
2011-04-07 10:03:16 +02:00
Alexander Larsson
a0048d5e70 [broadway] Add _gdk_broadway_display_consume_all_input
This parses and queues all currently availible input data non-blockingly.
Useful to ensure the latest up-to-date future info.
2011-04-07 10:03:16 +02:00
Alexander Larsson
fdc2059edb [broadway] Track future pointer events locations during parsing
We want this info so that we can avoid roundtrips and still get
a somewhat better querying for pointer locations.
2011-04-07 10:03:16 +02:00
Alexander Larsson
1fa952fb04 [broadway] Add helper for processing input at idle 2011-04-07 10:03:16 +02:00
Alexander Larsson
e113cf26fb [broadway] Keep track of current real cursor window (sans grabs)
We need this to be able to do a non-roundtripping get-window.
2011-04-07 10:03:16 +02:00
Alexander Larsson
ee1657d88e [broadway] Break out _gdk_broadway_display_read_all_input_nonblocking
This is useful in other places, like when we want to iterate over
all messages recieved so far.
2011-04-07 10:03:16 +02:00
Alexander Larsson
d664e78c94 [broadway] Make pointer grabs not roundtrip
Since we're really only initializing grabs (except for implicit
grabs at least) from the client side we might as well do all the grab
time checks on the client side to avoid unnecassary roundtrips.
2011-04-07 10:03:16 +02:00
Alexander Larsson
56d05e093d [broadway] Save last event time seen 2011-04-07 10:03:16 +02:00
Alexander Larsson
8aad17592e [broadway] Parse broadway input messages earlier
We now parse the broadway messages as soon as they are read from the wire.
This will let us sanely do lookahead in the message queue later.
2011-04-07 10:03:15 +02:00
Matthias Clasen
e32728fb5c GtkColorButton: Don't leak references
https://bugzilla.gnome.org/show_bug.cgi?id=646815
2011-04-06 00:57:47 -04:00
Petr Kovar
cd68eaa73a Update Czech translation 2011-04-06 03:43:52 +02:00
Jordi Serratosa
bfffe34c17 [l10n]Fixes on Catalan translation 2011-04-04 21:48:16 +02:00
Jordi Serratosa
0765800035 [l10n]Fixes on Catalan translation 2011-04-04 21:48:15 +02:00
Tristan Van Berkom
d4021d7a1b Fixed bug in GtkSizeRequest code where the cache is not reset properly
Fixes this bug https://bugzilla.gnome.org/show_bug.cgi?id=646500
2011-04-04 13:58:05 +09:00
Rodolfo Ribeiro Gomes
f6499818b5 Updated Brazilian Portuguese translation 2011-04-04 11:11:26 -03:00
Chao-Hsiung Liao
c2cdd94cd2 Updated Traditional Chinese translation (Hong Kong and Taiwan) 2011-04-04 20:27:38 +08:00
Jamil Ahmed
1a06c2974b Updated Bengali translation 2011-04-04 16:40:12 +06:00
Gil Forcada
059df291cf [l10n]Updated Catalan translation 2011-04-04 01:07:55 +02:00
Matthias Clasen
d46f0db38b Make gdk_x11_window_set_theme_variant do nothing for non-toplevels
This avoids problems when calling this e.g. on offscreen windows.
2011-04-03 17:40:37 -04:00
Matthias Clasen
2226996b80 Keymap: properly initialize lock state
We need to get explicitly lock state initially, before we can
rely on state changed events to track it.
https://bugzilla.gnome.org/show_bug.cgi?id=645341
2011-04-03 17:39:31 -04:00
Tristan Van Berkom
0b8a1dcac2 Fixed warning catch in gtk_window_compute_hints(). 2011-04-03 18:10:27 +09:00
Yuri Kozlov
8a1a0bd0c7 Updated Russian translation 2011-04-03 20:20:59 +04:00
Carlos Garnacho
e8c78edeb2 theme: Fix prelight on selected rows' expanders
There was no prelight effect on selected rows' expanders with the
builtin theme, noticed by Kris Rietveld.
2011-04-03 12:32:20 +02:00
Lucian Adrian Grijincu
073f1b4fe3 Updated Romanian translation 2011-04-03 02:03:33 +02:00
Ask H. Larsen
3d5f5a5beb Updated Danish translation 2011-04-02 19:45:07 +02:00
George Stefanakis
785b69463f l10n: Updated Greek translation for gtk+ 2011-04-02 17:57:50 +03:00
Daniel Korostil
ab70aeee2b Uploaded Ukranian 2011-04-02 16:38:07 +03:00
Matthias Clasen
b112d882ef GtkAppChooserButton: avoid some leaks
gtk_tree_model_get() returns a reference for objects.
https://bugzilla.gnome.org/show_bug.cgi?id=646462
2011-04-01 23:53:58 -04:00
Matthias Clasen
315bb30220 Fix some refcounting issues in the print dialog
gtk_tree_model_get returns a reference for objects, but the
printers in the model can be NULL,
https://bugzilla.gnome.org/show_bug.cgi?id=646446
2011-04-01 22:05:02 -04:00
Federico Mena Quintero
eb02dacb37 [filechooser] Free things which got duplicated or reffed by gtk_tree_model_get()
We had forgotten to do that in a few places; this is a systematic search for those.

https://bugzilla.gnome.org/show_bug.cgi?id=646461
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
58609cfdaf [filechooser] Unref cancellables we got from the model, not the ones that come into the callback
The model_cancellables have an extra ref when we get them from gtk_tree_model_get().
So, we need to unref them always.  On the other hand, the cancellables that get
passed as arguments to the callbacks in question are memory-managed by
GtkFileSystemModel.

Reported by Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646460
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
a24f61fb37 [filechooser] Don't leak a GFile
Reported by Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646458
2011-04-01 17:00:17 -06:00
Federico Mena Quintero
2aad7a5151 [filechooser] Don't add extra ref to file, as it it comes from gtk_tree_model_get()
Leak kindly reported by leak finder extraordinaire Morten Welinder <mortenw@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=646457
2011-04-01 17:00:16 -06:00
Juan Pablo Ugarte
a77e6b1593 Added GtkEntry:completion property 2011-04-01 19:35:32 -03:00
Gabor Kelemen
f344bc26ad Updated Hungarian translation 2011-04-01 15:17:37 +02:00
Gabor Kelemen
f588cbe28d Updated Hungarian translation 2011-04-01 15:17:10 +02:00
Gabriel F. Vilar
fe6431bdb7 Updated Brazilian Portuguese translation 2011-04-01 09:11:15 -03:00
Rajesh Ranjan
95a4635284 hindi updated 2011-04-01 14:56:12 +05:30
Rajesh Ranjan
ddec940848 hindi updated 2011-04-01 14:54:43 +05:30
Matthias Clasen
31c036b9b4 Call _exit instead of exit from X error handlers
This is because running atexit() handlers from there is
usually bad news.
https://bugzilla.gnome.org/show_bug.cgi?id=646338
2011-03-31 19:59:00 -04:00
Juan Pablo Ugarte
d80d834be8 * gtk/gtktreeselection.c:
Added missing GtkTreeSelection:mode property.
   Closes bug #645960 "GtkTreeSelection has no property to set mode"
2011-03-31 19:17:17 -03:00
Duarte Loreto
bdc1cc1a08 Updated Portuguese translation 2011-03-31 23:19:39 +01:00
Mario Blättermann
cec36d6f9f [l10n] Updated German translation 2011-03-31 21:30:57 +02:00
Djavan Fagundes
4000ae26a9 Updated Brazilian Portuguese translation 2011-03-31 11:42:31 -03:00
Mario Blättermann
58c17c5176 [l10n] Updated German translation 2011-03-31 09:41:05 +02:00
Alexander Shopov
5f99cdbaa4 Updated Bulgarian translation 2011-03-31 06:36:40 +03:00
Miroslav Nikolić
e2a2644614 Updated Serbian translation 2011-03-31 01:11:14 +02:00
Daniel Korostil
2be6a3a5d3 Uploaded Ukranian 2011-03-30 17:54:43 +03:00
Benjamin Otte
0bfc95faa3 widget: Propagate the right states to the widget when setting the parent 2011-03-30 16:40:06 +02:00
Benjamin Otte
1e43965350 widget: Get rid of parent_sensitive flag
Instead rely on state_flags & GTK_STATE_FLAG_INSENSITIVE to tell us if a
widget is sensitive.
This has the huge benefit that the way the widget is actually rendered
corresponds to the return value of gtk_widget_is_sensitive().

As a side effect, we do not ever allow unsetting the
GTK_STATE_FLAG_INSENSITIVE for a widget the is set to not be sensitive
(via gtk_widget_set_sensitive()). This way we stop propagation of making
stuff sensitive at insensitive widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=642918
2011-03-30 16:40:06 +02:00
Matthias Clasen
b2f872112a Make GtkWidget::halign RTL-save
This commit makes GTK_ALIGN_START/_END pay attention to
the text direction when used in horizontal context.

This is how similar parameters in GtkMisc and GtkAlignment work,
and is generally expected of GTK+ positioning parameters. And this
is new GTK+ 3 api, so it is basically still unused at this point.

If explicit right/left turn out to be needed at some point, we
can expand the enumeration with new values.
2011-03-30 10:34:02 -04:00
Bruce Cowan
9334f17790 Updated British English translation 2011-03-30 15:25:34 +01:00
Matthias Clasen
7a65db0402 GtkGrid: Add forgotten RTL flipping
How did we manage to add a non-RTL savy container in GTK+ 3.0 ?
2011-03-30 08:19:30 -04:00
Benjamin Otte
93b0cecd7e label: Remove dead code
This code has been useless for a while, and now it's breaking things.
Moving the paned in tests/testheightforwidth's wrapping label shows that
bug.

Broken since 9992efdb0e
2011-03-30 13:17:01 +02:00
Ask H. Larsen
45d01b684a Updated Danish translation 2011-03-29 23:41:18 +02:00
Ask H. Larsen
6aee00a55f Updated Danish translation 2011-03-29 23:39:16 +02:00
Ryan Lortie
ae6032b2ea GtkStatusIcon: support fixed-sized icons
Use the _NET_SYSTEM_TRAY_ICON_SIZE property set by the tray mananger as
a hint that we should use a specific icon size.  This allows the tray to
instruct us that it expects 16x16 icons, for example.

Bug #645232
2011-03-30 00:26:27 +05:30
Carlos Garnacho
ae22476931 theming: Implement non-uniform border-width in the theming engine.
The border-width CSS parameter takes up to 4 values, but it was
being ignored by the theming engine until now.
2011-03-29 19:39:34 +02:00
Carlos Garnacho
6834bace95 theming: Avoid boxed struct copies throughout the default engine 2011-03-29 19:39:22 +02:00
Benjamin Otte
21f117c695 label: Add another special case for measuring 2011-03-29 15:33:27 +02:00
Benjamin Otte
9992efdb0e label: Don't create the layout in size_allocate() if not needed
Just update its size if it already exists.
2011-03-29 15:33:27 +02:00
Benjamin Otte
c94dca36ca label: Move ellipsized layout width computation
... from size_allocate() to update_layout_width().
2011-03-29 15:33:27 +02:00
Benjamin Otte
bd3e947485 label: Factor out layout size measuring into its own function
Instead of doing half of it in get_preferred_size() and the other half
in get_label_width(), put it all in one place.
2011-03-29 15:33:27 +02:00
Benjamin Otte
e824bb4aab label: Move function to a better location
This patch does not change anything, it just moves the get_label_width
function.
2011-03-29 15:33:27 +02:00
Benjamin Otte
5e80c06d41 label: Factor out layout size setting into a separate function 2011-03-29 15:33:27 +02:00
Benjamin Otte
0930de9446 label: Only get font metrics if we have to
Getting these metrics is expensive, so avoid it if possible.
2011-03-29 15:33:27 +02:00
Benjamin Otte
6ba3ef5d82 label: Add optimization for a common special case
Oftentimes we want to measure a layout that is as wide or wider than the
current layout's maximal width. In that case we can safely reuse the
current layout.
2011-03-29 15:33:27 +02:00
Benjamin Otte
20b90cb793 label: Remove unused boolean argument from ensure_layout()
It's always FALSE.

Note that this patch changes the layout for allocations that are
smaller than 1px, but that's just the default layout that is never
rendered.
2011-03-29 15:33:27 +02:00
Benjamin Otte
db474e82c4 label: Don't recreate the layout just for measuring
Instead, create a custom one.
2011-03-29 15:33:27 +02:00
Benjamin Otte
d579166a63 label: Add internal gtk_label_get_measuring_layout() and use it
Avoids useless pango_layout_copy() calls and invalidations of an
existing layout when measuring sizes for a given label.
2011-03-29 15:33:27 +02:00
Benjamin Otte
5acd15d21b tests: Make test_init() not check for gdk-pixbuf anymore
gdk-pixbuf is system-installed these days.
2011-03-29 15:33:27 +02:00
Benjamin Otte
8343831c39 progressbar: remove needless is_drawable() check before queue_resize() 2011-03-29 15:33:27 +02:00
Benjamin Otte
b7cd3d6b06 tracker: Include gdk.h 2011-03-29 15:33:27 +02:00
Aron Xu
f3f4baa3a1 Update Simplified Chinese po-properties translation. 2011-03-29 11:02:06 +00:00
Aron Xu
6a944b7fdd Revert "Update Simplified Chinese translation." it commits po-properties translations to po.
This reverts commit bd058d4ba3.
2011-03-29 10:52:13 +00:00
Aron Xu
bd058d4ba3 Update Simplified Chinese translation. 2011-03-29 10:48:33 +00:00
Benjamin Otte
5bd32b88d2 docs: Update the drawing model description for GTK 3
https://bugzilla.gnome.org/show_bug.cgi?id=645937
2011-03-29 00:09:39 +02:00
Benjamin Otte
c6ddbe675a docs: Fixes for icon renaming
Fixes up breakage from 39d4207ab7
2011-03-29 00:09:39 +02:00
Alexander Larsson
e274dbbdce Ensure we always grab the gdk lock in async callbacks
Async callbacks are delivered in idles, so we need to make sure
we get the gdk lock before calling any gdk/gtk stuff. This was
missing in a few places.
2011-03-28 12:49:17 +02:00
Abduxukur Abdurixit
f5e0384939 Added UG translation 2011-03-27 21:24:20 +02:00
Michael Natterer
abe63e8aa1 gtk: add "Since: 3.2" to gtk_widget_path_to_string() 2011-03-27 15:43:31 +02:00
Yuri Kozlov
e829d9c94c Updated Russian translation 2011-03-27 14:29:22 +04:00
Yuri Myasoedov
43dfa3867d Revert "Updated Russian translation"
This reverts commit e082ac5ab5.
2011-03-27 14:25:19 +04:00
Yuri Kozlov
e082ac5ab5 Updated Russian translation 2011-03-27 14:23:01 +04:00
Benjamin Otte
179cec87c8 widget: Only reemit style-set signal after gtk_widget_get_style()
If the widget does not care about the compat code, just ignore it.
2011-03-27 03:44:19 +02:00
Benjamin Otte
9d3465412e widget: Don't invalidate style context in its invalidate callback 2011-03-27 03:39:43 +02:00
Benjamin Otte
bb879b6954 widget: Update path unconditionally in gtk_widget_reset_style()
Also, don't set the new path twice on the style context.
2011-03-27 01:53:04 +01:00
Benjamin Otte
d7ca207133 widget: Don't duplicate style context updates
The screen changes are done in do_screen_change(), the widget path is
updated in gtk_widget_reset_style().
2011-03-27 01:52:16 +01:00
Benjamin Otte
fb65806c8c widget: Call the non-deprecated function
Both functions are identical, just that one isn't deprecated.
2011-03-27 01:51:20 +01:00
Benjamin Otte
8b4b3cf090 API: Add gtk_widget_path_to_string()
Dumps the widget path into a string representation. It tries to match the CSS
style as closely as possible (Note that there might be paths that cannot be
represented in CSS).

The main use of this code is for debugging purposes, so that you can
g_print() the path or dump it in a gdb session.
2011-03-27 01:47:17 +01:00
Benjamin Otte
fafee4e276 widget: Emit initial style-set signal in the same situations as GTK2
This ensures that widgets that aren't ported and rely on the style-set
signal being emitted work as well as before. They should not rely on
style-set being emitted however.

Note that this function is a no-op if the initial style has been set
already and is very cheap if it has not been set yet. It only becomes
relevant if the resulting style actually gets used.

https://bugzilla.gnome.org/show_bug.cgi?id=639584
2011-03-27 00:48:26 +01:00
Benjamin Otte
af8a6a7abd widget: Create the widget's style lazily
That way we don't have to update the style's colors all the time on
theme changes when the widget is not actually using GtkStyle.
2011-03-27 00:48:26 +01:00
Benjamin Otte
1891b790b3 widget: Don't call gtk_style_attach() and gtk_style_detach() anymore 2011-03-27 00:48:26 +01:00
Benjamin Otte
080ae55e87 docs: Make clear that gtk_widget_set_style() does not do anything 2011-03-27 00:48:26 +01:00
Benjamin Otte
29444cc30e widget: Use a priv variable 2011-03-27 00:48:26 +01:00
Benjamin Otte
2bb64c868c widget: Widgets always have a style, so no need to check for NULL 2011-03-27 00:48:26 +01:00
Benjamin Otte
f2441c08f1 combobox: Don't set the menu's name twice 2011-03-27 00:48:25 +01:00
Benjamin Otte
ea928e4212 notebook: Only reset style on tab labels when it actually changes 2011-03-27 00:48:25 +01:00
Benjamin Otte
963c0905f2 widget: Reshuffle code for style context getter
The intention of this patch is to make the code clearer, shorter and
most of all to avoid recreating the widget path and setting it path
twice on the style context when the style context was recreated.
2011-03-27 00:48:25 +01:00
Benjamin Otte
757087e9b4 widget: Don't create the style context if not necessary
If all we want to do is update the context's screen, we don't need to
create it if it doesn't exist yet.
2011-03-27 00:48:25 +01:00
Benjamin Otte
0cdebc8bd5 Revert "Ensure GtkWidget::style-updated is emitted before first size negociation"
This reverts commit b7f772eb93.

The commit just poked around things and added lots of workarounds
instead of actually fixing the bug it set out to fix.

See https://bugzilla.gnome.org/show_bug.cgi?id=639584 for details.
2011-03-26 23:52:28 +01:00
Benjamin Otte
8ce533265e gtk: Reset children styles when changing name
Changing the name of a widget does not just change the current widget's
path, but also the path of all its children.
2011-03-26 23:51:51 +01:00
Benjamin Otte
06f590456f widgetpath: Sanitize pos argument for iters correctly
The comparison done was off by one and would have caused invalid
reads or writes.
2011-03-26 23:51:28 +01:00
Benjamin Otte
8a16876fc7 dnd: Use G_N_ELEMENTS()
Now that we have wesome macros in glib 2.0, we can use them. Woohoo, GTK
2.0 will be so awesome in the future.
(Did anybody touch dnd code this millenium?)
2011-03-26 23:48:42 +01:00
Claude Paroz
0597ffff3d Updated French translation of po-properties
Contributed by Gérard Baylard, Bruno Brouard and Claude Paroz
2011-03-26 17:16:10 +01:00
Daniel Nylander
1d3ac6d68f Updated Swedish translation 2011-03-26 10:29:53 +01:00
Chun-wei Fan
e05cde5964 Update VS property sheet
Make GDK-Pixbuf include path more consitent with autofiscated builds
2011-03-26 11:49:53 +08:00
Tristan Van Berkom
5989a6405f Fixed possible segmentation fault while freeing size request caches. 2011-03-25 18:42:08 +09:00
Tristan Van Berkom
38b5c8cf45 Cache heights-for-range-of-widths instead of height for every width.
This patch optimizes window resizes by assuming that if a widget
has the same height at a width of 50 as with a width of 150, the
height for width 100 will also be the same.

The patch also further optimizes the cache allocator, now there
are 2 pointer arrays of up to a maximum of 5 requests, the arrays
will only be allocated if a request is ever made in that orientation
and the array will be sparse until each request is made (i.e. if a
label can only wrap to 3 lines, there will only be 3 out of a
possible 5 SizeRequest structures allocated to cache it).
2011-03-25 18:42:08 +09:00
Tristan Van Berkom
82ae7b77ca Reduce memory consumption of the size request cache.
This patch makes contextual height-for-width request caching
optional (the contextual cache is not allocated for widgets that
report GTK_SIZE_REQUEST_CONSTANT_SIZE).
2011-03-25 18:42:08 +09:00
Tristan Van Berkom
887142f1f5 Added GTK_SIZE_REQUEST_CONSTANT_SIZE to GtkSizeRequestMode
The constant size request mode defines a request mode where
height-for-width geometry is unneeded, thus optimizing GTK+
by reducing the overall amount of requests that need to be
performed and cached while resizing an interface.
2011-03-25 18:42:07 +09:00
Daniel Nylander
59440927d0 Updated Swedish translation 2011-03-25 22:30:29 +01:00
Alexander Shopov
3053195eab Updated Bulgarian translation 2011-03-25 22:28:19 +02:00
Florian Müllner
16dc117045 window: Use settings from screen rather than default
gtk_settings_get_default() was used to monitor the
"gtk-application-prefers-dark-theme" setting, rather
than the GtkSettings object associated with the window's
screen.
2011-03-25 17:41:19 +01:00
Carlos Garnacho
b7f772eb93 Ensure GtkWidget::style-updated is emitted before first size negociation
Fixes Bug 639584 - initial emission of GtkWidget:style-set is
not happening.

GtkWidget was filtering out ::style-updated (and ::style-set)
emissions until the widget was realized in order to avoid often
useless updates during widget construction and placing.

This is now done instead until the widget has a parent/screen,
which ensures the initial emission happen prior to the first
size negociation, while still filtering out all early emissions
during construction.
2011-03-25 14:33:54 +01:00
Changwoo Ryu
61e16b108b Updated Korean translation 2011-03-25 22:02:38 +09:00
Friedel Wolff
3116a753dd Update translation for Afrikaans (af) 2011-03-24 23:13:33 +02:00
Matthias Clasen
4a86e5b138 Make selectable labels work again
You can select something, but moving the focus somewhere else, or bringing up
the context menu makes the selection go away. This makes it impossible to
copy-paste the text.

The reason for this regression is that gtk_label_state_changed was sloppy and
assumed that it would only ever be called when a labels goes insensitive, which
is no longer the case.

The patch fixes things by explicitly checking if the widget is insensitive, and
only resetting the selection in that case, which is the same behaviour we have
for e.g. GtkEntry.
2011-03-24 12:45:59 -04:00
Aron Xu
c9d54298dc Merge Simplified Chinese translation from branch gtk-3-0. 2011-03-24 16:36:19 +00:00
Cosimo Cecchi
6c3c26d9c3 switch: hardcode a smaller font size for the switch label
This should not really be done here, but we can't override font size
from the theme just yet.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 10:00:01 -04:00
Cosimo Cecchi
24bba4cc56 gtksettings: unset attributes set to normal from font description
So that they do not override values coming from the theme.

Based on a patch by Carlos Garnacho.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 10:00:00 -04:00
Cosimo Cecchi
ec2055d1b0 Revert "styleproperties: don't force replacing the font description"
It turns out the bug is more complicated than I originally understood.
Not replacing the font description fields while merging here makes it
impossible for application's CSS to override fonts.

This reverts commit 89c1d93b68.

https://bugzilla.gnome.org/show_bug.cgi?id=645458
2011-03-23 09:59:58 -04:00
Olav Vitters
1d64742dae Add DOAP file 2011-03-23 11:54:36 +01:00
Carlos Garcia Campos
ddba4cc00c gtk-demo: Add placeholder text to search entry demo 2011-03-22 12:47:50 +01:00
Michael Natterer
ec6f6c4168 configure: bump version to 3.1.0 2011-03-21 20:58:40 +01:00
Michael Natterer
41810b46e7 Bug 643805 - Allow GtkExpander to resize the toplevel upon expanding/collpasing
Add gtk_expander_get,set_resize_toplevel() and a "resize-toplevel"
property.
2011-03-21 20:57:43 +01:00
Marek Kasik
9a0700e20c Check whether a resolution has been set in GtkPrintSettings
If resolution has not been set then use default resolution from ppd.

https://bugzilla.gnome.org/show_bug.cgi?id=635254
2011-03-21 11:11:09 -04:00
Cosimo Cecchi
1876823ef0 themingengine: don't hardcode white to draw insensitive labels shadow
Use the background color instead.
I think the optimal solution would be delegating the shadow rendering to
the theme completely, and removing this in GtkThemingEngine, but for
now, this simple fix makes the dark variant more usable.

https://bugzilla.gnome.org/show_bug.cgi?id=645405
2011-03-21 11:00:53 -04:00
Cosimo Cecchi
65d90e2019 filechooserdefault: fix a build warning 2011-03-21 11:00:38 -04:00
Garrett Regier
793d12d70d Fix leaking calls to gdk_device_manager_list_devices()
gdk_device_manager_list_devices() returns a newly allocated list.

https://bugzilla.gnome.org/show_bug.cgi?id=645234
2011-03-21 10:37:10 -04:00
Matthias Clasen
330ed9d0d8 Fix portability issues in configure
Avoid using bash features unnecessarily.
Patch by Matteo Settenvini
https://bugzilla.gnome.org/show_bug.cgi?id=645057
2011-03-21 10:32:49 -04:00
Garrett Regier
8d3810b0b6 Free the motion hint infos in GdkDisplay
https://bugzilla.gnome.org/show_bug.cgi?id=645235
2011-03-21 10:23:25 -04:00
Florian Müllner
3032fdce2a window: Export theme variant to X11
The metacity theme format allows to use colors from the current
GTK+ theme in window decorations. Since GTK+ now gained support
for dark theme variants, window managers using that theme format
(metacity, mutter, compiz via gtk-window-decorator) should be able
to use colors from the correct variant; so in case a variant is
requested, export it in the _GTK_THEME_VARIANT property on
toplevel windows.

https://bugzilla.gnome.org/show_bug.cgi?id=645354
2011-03-21 15:06:34 +01:00
Gintautas Miliauskas
c3ba127907 Updated Lithuanian translation. 2011-03-21 14:28:19 +01:00
Carlos Garcia Campos
e13794bef9 gail: Implement AtkObject::get_attributes() in GailEntry
And return the GtkEntry placeholder text as a new attribute.

https://bugzilla.gnome.org/show_bug.cgi?id=440963
2011-03-21 10:03:49 +01:00
Carlos Garcia Campos
ef061c4e96 gtkentry: Add hinting to GtkEntry
gtk_entry_set_placeholder_text() makes the entry display the given text
when it is empty and unfocused. Based on previous patch by Alberto
Garcia.

https://bugzilla.gnome.org/show_bug.cgi?id=440963
2011-03-21 09:37:37 +01:00
Amitakhya Phukan
c8350821e9 Updated Assamese translations 2011-03-21 12:58:18 +05:30
Amitakhya Phukan
9b802c1e37 Updated Assamese translations 2011-03-21 12:57:50 +05:30
Andika Triwidada
3b5b292c3f Updated Indonesian translation of gtk+ properties 2011-03-21 11:17:08 +07:00
Gabor Kelemen
2eed3a2b69 Updated Hungarian translation 2011-03-19 23:46:12 +01:00
Wouter Bolsterlee
d23e6d30a6 Updated Dutch translation by Wouter Bolsterlee 2011-03-19 17:58:37 +01:00
Cosimo Cecchi
9cd4a1b622 radiobutton: exclude states we set manually from the previous state
https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:16:02 -04:00
Cosimo Cecchi
ef5fb8d673 radiobutton: build the new state flags from the previous flags on click
This fixes e.g. sensitivity issues with GtkRadioButton on state update.

https://bugzilla.gnome.org/show_bug.cgi?id=645172
2011-03-18 15:16:01 -04:00
Benjamin Otte
9b93ca2848 gtk: Make region argument to gtk_widget_queue_draw_region() const 2011-03-18 16:27:59 +01:00
Cosimo Cecchi
55c86bd44d switch: fix boundaries for the switch motion
We were ignoring the focus ring padding, and we were incorrectly setting
handle_x to padding.left, while the draw handler already takes padding
into account while redrawing.

https://bugzilla.gnome.org/show_bug.cgi?id=645134
2011-03-18 09:52:58 -04:00
Cosimo Cecchi
6e1aa0e0a9 notebook: don't forget to reset the style after setting show-tabs
This fixes a regression after commit
b04f4c536a
2011-03-17 17:27:37 -04:00
Dan Winship
605c383c78 GdkDeviceManagerXI2: process send_event core events
XSendEvent doesn't currently work with XI2 events, so add code to
translate core events when they have the send_event flag.

(We still don't actually select for core pointer/keyboard events, so
we will only receive send_event events that are sent with a 0
event_mask.)

https://bugzilla.gnome.org/show_bug.cgi?id=644847
2011-03-17 17:18:33 -04:00
Cosimo Cecchi
151cf7204b treeview: add the separator style class to the tree view separator lines 2011-03-17 17:12:58 -04:00
William Jon McCann
f7ee81bff8 filechooser: use the sidebar style class for the file chooser sidebar
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 17:12:55 -04:00
Cosimo Cecchi
195a235cd4 stylecontext: add a sidebar style class 2011-03-17 17:12:53 -04:00
William Jon McCann
611cf8423f set initial pane position
https://bugzilla.gnome.org/show_bug.cgi?id=642712
2011-03-17 17:12:50 -04:00
Cosimo Cecchi
627735c699 filechooser: add the inline-toolbar style class to the bottom toolbar 2011-03-17 15:47:08 -04:00
Cosimo Cecchi
89e565a82f stylecontext: add an inline-toolbar style class 2011-03-17 15:47:04 -04:00
Cosimo Cecchi
2ae6becef9 styleproperties: don't force replacing the font description
Otherwise custom fonts will always get overridden by the default stored
in GtkSettings when merging them.

https://bugzilla.gnome.org/show_bug.cgi?id=644975
2011-03-17 14:34:44 -04:00
Bastien Nocera
90a4f8dc4b notebook: Don't set notebook style with hidden tabs
When tabs are not shown, and the notebook is used as a container,
we should not set the notebook style, otherwise the theme has no
way to know whether tabs are shown or not, and which colour to draw
the background.

https://bugzilla.gnome.org/show_bug.cgi?id=640692
2011-03-17 18:30:40 +00:00
Benjamin Otte
58f0bc62a9 widget: Don't override state data when recursing to children
Writing onto the passed-in GtkStateData could cause changes that would
propagate to siblings, as the data was not reset again.
By copying the data structure, this is avoided and the proper values are
passed to sibling widgets.
2011-03-17 16:47:48 +01:00
Benjamin Otte
261bcb1ed8 widget: Fix typo in docs 2011-03-17 16:47:48 +01:00
Frédéric Péters
97dfcaddbb Update properties POTFILES 2011-03-17 14:40:09 +01:00
Bruce Cowan
f5ea2b740b Updated British English properties translation 2011-03-17 12:51:19 +00:00
Benjamin Otte
665da2c499 widget: Queue a resize when setting widget to insensitive.
See 015f227776 for details on why this is
necessary.
2011-03-17 11:59:17 +01:00
Benjamin Otte
3f491f7157 style: Move private function into private header
The function wasn't exported, so everybody using it would have gotten
linking failures.
2011-03-17 11:59:17 +01:00
Benjamin Otte
979a68c74a paned: Remove unused variable 2011-03-17 11:59:17 +01:00
Mario Blättermann
ef6e276ee6 [l10n] Updated German translation 2011-03-17 11:52:54 +01:00
Jasper St. Pierre
ff9eb56c6e Don't only use ch != 0 to check if a character is a control char.
https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:09:14 -04:00
Jasper St. Pierre
6ecfddf2e2 gdkkeyuni: Fix DEL for binary search
The list needs to be sorted in order for the binary search to work properly.

https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:09:13 -04:00
Cosimo Cecchi
9205abe374 range: allow stepper-spacing > 0 and trough-under-steppers = TRUE
Commit 4bb3d64414 introduced a limitation
to GtkRange style properties; when stepper-spacing is > 0,
trough-under-steppers is automatically set to FALSE; this means that
setting a spacing between the steppers (e.g. the scrollbar buttons) and
the trough (i.e. the area over which the slider is free to move) would
make the buttons always get the full allocation on the !orientation
direction.
The rationale is without this limitation, you would get an area which
seems clickable, but it's actually not.

While this is true, and undesirable, for big stepper spacings, themes
that use trough-under-steppers (which is TRUE by default anyway),
might want to set smaller spacings to avoid drawing a double line between
the button and the slider borders.

To add confusion, the documentation got it flipped, i.e. it stated
setting a positive stepper-spacing would set trough-under-steppers to
TRUE (which would also make the behavior expected by commit
4bb3d64414 impossible).

I don't think hardcoding either of the two limitations is a good thing.
We should let themes handle this instead, and remove this limitation. If
you want the old behavior, you can manually set trough-under-steppers to
FALSE if you set a positive stepper-spacing in your theme.

https://bugzilla.gnome.org/show_bug.cgi?id=644777
2011-03-16 13:20:07 -04:00
Matthias Clasen
66a77d0bc0 Make gdk_keyval_to_unicode return more codes
Previously, we didn't map ASCII controls to their Unicode
counterparts. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=644836
2011-03-16 12:48:59 -04:00
Cosimo Cecchi
f4930dca55 widget: reset widget style after applying style classes from GtkBuilder
Otherwise, the parsed style classes do not get propagated to the
children.

https://bugzilla.gnome.org/show_bug.cgi?id=644925
2011-03-16 10:52:32 -04:00
Cosimo Cecchi
69b9794d9e broadway: fix a build warning 2011-03-16 10:48:24 -04:00
John (J5) Palmieri
3938d3c2e4 [gi] add Virtual annotation for gtk_container_forall vfunc 2011-03-16 10:42:24 -04:00
Fran Diéguez
927f1344b5 Updated Galician translations 2011-03-15 15:53:00 +01:00
Alexander Larsson
4fadd346fa Merge branch 'broadway' 2011-03-15 13:00:24 +01:00
Alexander Larsson
9a26fd25af broadway: Enable TCP_NODELAY for output socket
This makes us send data immediately, giving a much snappier
over-network experience.
2011-03-15 11:47:38 +01:00
Alexander Larsson
7605258890 broadway: Fix up whitespace and indentation for js code 2011-03-15 10:33:08 +01:00
Alexander Larsson
520dd09e8a broadway: Use camelCase for all js code 2011-03-15 10:26:53 +01:00
Alexander Larsson
2635a27814 broadway: Fix flicker when resizing windows
Resizing a canvas causes a clear, so we have to save the previous
content and restore to avoid flickering.
2011-03-15 10:18:07 +01:00
Alexander Larsson
e3a2176a1f broadway: double buffer window updates
Ensure that we're writing all the updates for a single rendering op
in one go without callbacks inbetween. That way some rendering will
be delayed, but the user will never see partial renderings.
2011-03-15 09:50:07 +01:00
Alexander Larsson
58c234e7d0 broadway: Don't crash if output is NULL 2011-03-15 08:50:18 +01:00
Alexander Larsson
4408e9d958 broadway: Implement gdk_broadway_device_window_at_position
This is required for ungrabs to work properly
2011-03-14 21:40:59 +01:00
Alexander Larsson
08f832908e broadway: Ensure we begin a path when clipping 2011-03-14 20:59:28 +01:00
Alexander Larsson
acd72d0961 broadway: Do copy rects with compositing mode "copy" 2011-03-14 20:59:00 +01:00
Cosimo Cecchi
c9f38ba518 notebook: make GtkNotebook respect the focus-padding style property
https://bugzilla.gnome.org/show_bug.cgi?id=644348
2011-03-14 11:59:27 -04:00
Alexander Larsson
a5e5e2343c broadway: Fix undefined variable error in js 2011-03-14 16:38:24 +01:00
Alexander Larsson
63c0198347 broadway: Start windows transparent rather than black
This avoids flashing
2011-03-14 16:04:34 +01:00
Alexander Larsson
084003953d broadway: Make broadway port configurable with BROADWAY_DISPLAY 2011-03-14 15:58:55 +01:00
Alexander Larsson
9214796a4d broadway: Report right coordinates on ungrab enter 2011-03-14 15:46:29 +01:00
Alexander Larsson
99d194b747 broadway: Fix various typos in mouse button event reporting 2011-03-14 15:24:25 +01:00
Alexander Larsson
ca203adc73 broadway: Fix up grab events, its "mode" not "detail" we send 2011-03-14 12:13:21 +01:00
Alexander Larsson
a1de735b87 broadway: Track button state 2011-03-14 12:09:19 +01:00
Alexander Larsson
e53abee805 broadway: Fix time in ungrab 2011-03-14 12:02:18 +01:00
Alexander Larsson
95b19bca33 broadway: Implement pointer grabs 2011-03-14 11:52:46 +01:00
Alexander Larsson
7d2ff79ddf broadway: Fix some window coordinate reporting issues 2011-03-14 11:28:57 +01:00
Alexander Larsson
cf6bf44184 broadway: Remove debug code and fix whitespace issues 2011-03-14 11:21:37 +01:00
Alexander Larsson
c2ce462486 broadway: Add debug logging framework for js 2011-03-14 10:05:24 +01:00
Alexander Larsson
e2f8215751 broadway: Fix typo that broke window hiding 2011-03-14 09:51:54 +01:00
Erdal Ronahi
0b54bb5fdd Updated Kurdish translation 2011-03-13 21:52:06 +01:00
Erdal Ronahi
aa4978ee75 Updated Kurdish translation 2011-03-13 21:14:00 +01:00
Klemen Košir
f09e25d59c Updated Slovenian translation 2011-03-13 18:14:48 +01:00
Changwoo Ryu
bd0e717bdd Updated Korean translation 2011-03-13 23:27:36 +09:00
Matthias Clasen
ddc588236b Add annotations to gtk_window_get_position
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:25:07 -05:00
Matthias Clasen
02ac322c9a Fix annotations for gtk_accelerator_parse
Part of bug 644353, patch by Ulrik Sverdrup.
2011-03-12 21:23:25 -05:00
Matthias Clasen
4a44f3f6e1 Formatting fixes 2011-03-12 21:22:27 -05:00
Cosimo Cecchi
677f268e8d paned: don't set the "pane-separator" style class to all the container
Otherwise children inherit color properties specified for the pane
separator itself.

https://bugzilla.gnome.org/show_bug.cgi?id=644276
2011-03-12 20:36:40 -05:00
Carlos Garcia Campos
21558ae67f themingengine: Use render_background_internal() to render handle background
Instead of using always the background color. This fixes handles that
have a background image like gnome-panel applets in a transparent
panel.

https://bugzilla.gnome.org/show_bug.cgi?id=644570
2011-03-12 20:32:42 -05:00
Petr Kovar
5e7ebb5a9e Update Czech translation 2011-03-12 23:34:14 +01:00
Matthias Clasen
aa1fdb4123 GtkAboutDialog: keep toggle button state in sync
When hiding the dialog, we hide the credits/license parts, so
we need to update the toggle buttons controlling them.
https://bugzilla.gnome.org/show_bug.cgi?id=644355
2011-03-12 13:43:28 -05:00
Klemen Košir
ee46a97934 Updated Slovenian translation 2011-03-12 19:26:10 +01:00
Bruno Brouard
fc4158a03f Updated French translation 2011-03-12 18:03:08 +01:00
Daniel Nylander
421dc5167e Updated Swedish translation 2011-03-11 21:55:12 +01:00
Daniel Nylander
9cf62db84f Updated Swedish translation 2011-03-11 21:41:01 +01:00
Alexander Larsson
6713fe9ca4 broadway: Get query_state window coords from browser side 2011-03-11 21:39:11 +01:00
Alexander Larsson
27848432c7 broadway: Split out getPositionsFromAbsCoord from getPositionsFromEvent 2011-03-11 21:28:39 +01:00
Alexander Larsson
54905a8986 broadway: Fix up a bunch of js style issues 2011-03-11 21:12:57 +01:00
Alexander Larsson
cc808ae063 broadway: Move event coordinate calculation to browser side 2011-03-11 21:10:23 +01:00
Benjamin Otte
015f227776 gtk: Queue a resize after state changes
Lots of style properties - border-width in this case - can change the
size of widgets, so we need to queue a resize instead of just redrawing.
2011-03-11 19:51:25 +01:00
Alexander Larsson
0cefd54122 broadway: Implement pointer query_status 2011-03-11 14:56:31 +01:00
Alexander Larsson
614eb3b3d7 broadway: Add _gdk_broadway_display_block_for_input 2011-03-11 14:45:13 +01:00
Alexander Larsson
e08396450d broadway: Break out websockets parsing and message processing
We need this to be able to correctly handle the recieve buffer
during message processing. Without the split we would be
recursing over the use of it.
2011-03-11 14:41:03 +01:00
Alexander Larsson
7c12e5f27e broadway: Implement gdk_display_flush 2011-03-11 14:37:39 +01:00
Alexander Larsson
71aa55d291 broadway: Call device vfunc to get device state
We want only one place where we get device state.
2011-03-11 08:26:37 +01:00
Chun-wei Fan
e72bdca1b8 Update README.win32
Make the information in that files more up-to-date
2011-03-11 12:36:33 +08:00
Benjamin Otte
0c37c88147 gdk: Use CAIRO_OPERATOR_SOURCE when painting double-buffered buffer
Otherwise RGBA surfaces will have issues.

This patch only affects non-implicit paints, ie no paints at all in the
real world.
2011-03-11 02:10:47 +01:00
Benjamin Otte
2a2ad8523f gdk: Add GDK_RENDERING environment variable
It's useful for debugging rendering issues, both correctness and
performance wise.

See the added documentation for what it does and how it works.
2011-03-11 02:10:47 +01:00
Alexander Larsson
0fa32e98a4 broadway: Change input handling to use polling rather than async reads
We do this because we need to be able to switch to using sync reads
when we're doing a roundtripping call, and that is too complex
with the async code.
2011-03-10 21:22:19 +01:00
Kristian Rietveld
a55b59fef3 Include gdkquartz.h so GDK_IS_QUARTZ_SCREEN is actually defined 2011-03-10 21:20:37 +01:00
Daniel Mustieles
9225bccfc8 Updated Spanish translation 2011-03-10 19:15:26 +01:00
Klemen Košir
6f14e7e260 Updated Slovenian translation 2011-03-10 18:20:23 +01:00
Alexander Larsson
d4e2414d4a broadway: Add serial tracking and roundtripping 2011-03-10 14:58:47 +01:00
Alexander Larsson
3914d0af38 broadway: Clean up protocol message writing a bit
Centralize the header writing so we can extend it later.
Don't opencode the size of element when increasing p.
2011-03-10 13:59:30 +01:00
Alexander Larsson
4765f37484 Merge branch 'gtk-3-0' into broadway
Conflicts:
	gdk/gdkdisplaymanager.c
2011-03-10 10:51:04 +01:00
Tristan Van Berkom
713fd43c8f Fixed gdk_window_beep() to pass the toplevel instance to the toplevel's implementation vfunc.
This incorrect assignment would cause asynchronous aborts from the X server
(they would occur if for instance, an offscreen GtkTreeView calls
gtk_widget_error_bell()).
2011-03-10 14:10:32 +09:00
Daniel Korostil
549c249d1a Uploaded Ukranian 2011-03-10 18:33:50 +02:00
Piotr Drąg
af78b91fb5 Updated LINGUAS 2011-03-10 12:55:22 +01:00
Michael Kotsarinis
2cae0452be l10n: Updated Greek translation for gtk+ 2011-03-10 01:25:08 +02:00
Cosimo Cecchi
5215f72bd7 notebook: add an 'initial-gap' style property
It adds a gap before the first tab in the notebook.

https://bugzilla.gnome.org/show_bug.cgi?id=643841
2011-03-09 14:15:43 -05:00
Tristan Van Berkom
934f4e5a25 Fixed GtkTreeModel::row-deleted documentation
This documentation was in direct conflict with the documentation
of gtk_tree_model_row_deleted() docs, the function docs are TRUE,
the signal docs were FALSE, fixed.
2011-03-09 15:08:32 +09:00
Tristan Van Berkom
f632956166 Fixed GtkTreeModel::row-deleted documentation
This documentation was in direct conflict with the documentation
of gtk_tree_model_row_deleted() docs, the function docs are TRUE,
the signal docs were FALSE, fixed.
2011-03-09 15:06:45 +09:00
Cosimo Cecchi
e772082a2a stylecontext: add a raised style class
This is useful for raised elements, for example raised buttons on
primary toolbars.

https://bugzilla.gnome.org/show_bug.cgi?id=644248
2011-03-08 20:05:30 -05:00
Alexander Larsson
a3b2840cae Remove support for GDK_NATIVE_WINDOWS
GDK_NATIVE_WINDOWS was a way to keep some old apps running that did weird
things in gtk2. We should not have to carry this forwards in gtk 3.x.

We do however keep a g_warning() call reminding people of this fact to
ease debugging when they try to port their applications.

https://bugzilla.gnome.org/show_bug.cgi?id=644119
2011-03-08 23:13:39 +01:00
Carlos Garnacho
191428f596 gtksettings: plug a leak
Make the GValue take the created GString.
2011-03-07 23:06:55 +01:00
Carlos Garnacho
fe12c46531 cssprovider: Reset the scope before skipping to the next rule after an error happens.
This is so the selector token gets parsed with the correct GScanner scope/config
on all situations.
2011-03-07 23:06:54 +01:00
Carlos Garnacho
aa6eee73e5 cssprovider: plug two more leak fixes 2011-03-07 23:06:54 +01:00
Carlos Garnacho
794593a4f8 cssprovider: return immediately if there's remaining data behind a parsed value
parse_value() could fill in a GError, but yet (incorrectly) return G_TOKEN_NONE,
having the GError leaked as a result.

https://bugzilla.gnome.org/show_bug.cgi?id=642604 , Reported by Felix Riemann.
2011-03-07 23:06:54 +01:00
John Ralls
f7f9e16939 Finish making the GtkSettings object identical on all backends so that it doesn't assert on non-X11 backends 2011-03-07 12:28:50 -08:00
Benjamin Otte
8d1b7362b3 x11: Copy from actual window, not parent
This code is a relic from GTK2 days and should not be necessary anymore,
as code now makes sure to only copy those parts of the window that are
not overlapped by parent windows.

By deleting it we fix potential issues with composited and translucent
windows copying the wrong data.

https://bugzilla.gnome.org/show_bug.cgi?id=643416
2011-03-07 17:45:08 +01:00
Matthias Clasen
7fe353b186 Bump version 2011-03-07 10:08:48 -05:00
Matthias Clasen
2ef4d9862a Update NEWS 2011-03-07 08:24:27 -05:00
Cosimo Cecchi
96d6c2d108 treeview: propagate the selected state from the row
An expander in a row can't be selected on its own otherwise. This way
themes can override the expander colors when the row is selected.

https://bugzilla.gnome.org/show_bug.cgi?id=644089
2011-03-07 08:12:48 -05:00
Carlos Garnacho
b93a2ebeed entry: Do not clobber state when rendering the default icons.
Use lower level methods that just require changing the state in the
GtkStyleContext instead. Fixes a problem where the insensitive state
was being set to the entry becasuse a parent was insensitive, spotted
by Alex Larsson.
2011-03-07 12:48:31 +01:00
Cosimo Cecchi
a3b3c91001 notebook: flip the render order
The render order for tabs is now

- left to right until the active tab
- right to left until the active tab
- active tab

This allows themes that use non-straight lines for the tab curvature to
draw them not worrying about flipping one side after the active tab.
2011-03-07 00:49:14 -05:00
Cosimo Cecchi
a54ca77fb7 notebook: fixup the last commit
Let the tab overlap eat the padding, otherwise having tab-overlap >
tab-curvature without cutting the label is impossible.
This way we give the label widget all the allocation possible before
giving up and cutting it if the values for tab-overlap are too extreme
for the given padding.
2011-03-06 22:08:26 -05:00
Cosimo Cecchi
da814ae767 notebook: make sure the label widget allocation not exceeds the overlap 2011-03-06 18:45:20 -05:00
Cosimo Cecchi
27a0cef60c notebook: make sure the allocation keeps track of the tab curvature
This was a genuine typo, because "padding" was calculated but unused in
this branch of the code.
2011-03-06 14:48:09 -05:00
Kristjan SCHMIDT
2556657517 Updated Esperanto translation 2011-03-06 18:27:14 +01:00
Duarte Loreto
2e71f6e1cc Updated Portuguese translation 2011-03-06 15:20:37 +00:00
Jorge González
69281030e1 Updated Spanish translation 2011-03-06 15:21:41 +01:00
Carlos Garcia Campos
7aeb3c725b xi2: Ignore button release events of button 4-7
We treat button presses of button 4-7 as scroll wheel events, so release
events should be ignored.

https://bugzilla.gnome.org/show_bug.cgi?id=643925
2011-03-06 12:42:02 +01:00
Ignacio Casal Quinteiro
0a03e81224 Fix conversion from GdkColor to GdkRGBA 2011-03-06 11:17:06 +01:00
Matthias Clasen
39d4207ab7 Use existing mime type for GTK_FILE stock icon
document-x-generic is not actually a mimetype. Using text-x-generic
instead lets us work out-of-the-box in a11y themes.
2011-03-06 00:31:20 -05:00
Matthias Clasen
e2ba86289f Only count visible children during size request
This was causing spacing between image and label to be requested
in buttons, even though the image is invisible.
2011-03-05 23:27:26 -05:00
Benjamin Otte
8b17b16d63 theme: Fix spinner for inactive state.
Previously, the inactive state caused the spinner's solid line to be
drawn to the right. Now it's drawn to the top instead, which makes the
inactive state look more natural.
2011-03-05 15:03:56 +01:00
Benjamin Otte
9b8fbe5b72 theme: Make spinner animation turn clockwise 2011-03-05 15:03:56 +01:00
Benjamin Otte
2482847ecf theme: Make spinner steps count forward, not backward
This makes the spinner roate the right way again.
2011-03-05 15:03:56 +01:00
Benjamin Otte
de3616d52c theme: Make spinner drawing start with the solid line
Previously, for i == 0, we were drawing the translucent line first.
However, people reading the code would always assume the solid line is
indicated by the current step. So make the code do that.

Note that the spinner now rotates in the wrong direction. This will be
fixed in a future commit.
2011-03-05 15:03:56 +01:00
Benjamin Otte
41b5a6a900 theme: Compute scale values once
Use a local variable to store the xscale and yscale, so that it's only
computed once.
Makes it easier to do the changes I'm about to do.
2011-03-05 15:03:56 +01:00
Benjamin Otte
8c8dda6a6b theme: Do general cairo setup in one place
Also remove wrong comment.
2011-03-05 15:03:56 +01:00
Benjamin Otte
639bf2a2a5 theme: Remove unnecessary save/restore in spinner code 2011-03-05 15:03:56 +01:00
Benjamin Otte
3e524ac28e theme: Simplify spinner drawing code a bit. 2011-03-05 15:03:56 +01:00
Murray Cumming
5b347db1af gtk_init*(): Document that argc/argv can be 0,NULL.
* gtk/gtkmain.c: (gtk_init): Mention that argc and argv can be 0,
  using the new text from the g_applicatoin_run() documentation.
  There was already introspection annotation about that.
  (gtk_init_check, gtk_init_with_args): Use the same text here.
  See bug #643649 comment 2.
2011-03-05 14:57:32 +01:00
Rudolfs Mazurs
c28b483c06 Added Latvian translation. 2011-03-05 15:48:26 +02:00
Daniel Mustieles
4180652d6e Added Spanish translation 2011-03-05 13:16:06 +01:00
Duarte Loreto
a75ab78c3c Updated Portuguese translation 2011-03-04 23:34:51 +00:00
Duarte Loreto
f0e83f8abe Updated Portuguese translation 2011-03-04 23:34:24 +00:00
Duarte Loreto
f8f42d22b8 Updated Portuguese translation 2011-03-04 23:34:24 +00:00
Xan Lopez
eeedcf3612 spinbutton: remove unused variable 2011-03-04 21:43:08 +01:00
Matthias Clasen
6a0b82bfd5 Prime NEWS for 3.0.2 2011-03-04 13:55:06 -05:00
Cosimo Cecchi
6a423a99ad spinbutton: rework GtkSpinButton drawing handler
Make the arrows bigger, and position them according to the mockups.
2011-03-04 11:13:14 -05:00
Cosimo Cecchi
cae7b93729 Revert "spinbutton: center-align by default"
This reverts commit 64ef11985b.
2011-03-04 11:13:13 -05:00
Abduxukur Abdurixit
fb245b8ece Added UG translation 2011-03-04 16:36:06 +01:00
Abduxukur Abdurixit
ef58698427 Added UG translation 2011-03-04 16:29:30 +01:00
Abduxukur Abdurixit
b324b9e820 Added UG translation 2011-03-04 16:27:22 +01:00
Daniel Korostil
98936999e2 Uploaded Ukranian 2011-03-04 10:58:08 +02:00
Piotr Drąg
132eed56f8 Updated Polish translation 2011-03-04 09:54:03 +01:00
Matthias Clasen
e10759af16 Bump the Pango requirement to 1.24
This avoids warnings in some situations. 1.24 is 2 years old,
so should not cause any problems.
https://bugzilla.gnome.org/show_bug.cgi?id=643370
2011-03-03 19:24:02 -05:00
Matthias Clasen
2ccc6c0d60 GtkNotebooks: fix regressions from tab-pack removal 2011-03-03 18:30:03 -05:00
Matthias Clasen
a71e801943 GtkNotebook: Don't let tab allocation go negative 2011-03-03 18:30:03 -05:00
Cosimo Cecchi
8da124aa1f Cleanup unused variables 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
6a21e4ce94 docs: update to include the new style classes 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
e9182123a8 stylecontext: add a primary toolbar style class 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
d5c4a0f503 all: add a "separator" style class 2011-03-03 17:48:26 -05:00
Cosimo Cecchi
fe3f9ca9cd menuitem: set the menubar style class for menu items on a bar
So that themes can distinguish them from the other menu items.
2011-03-03 17:48:26 -05:00
Cosimo Cecchi
4a99e75ce7 window: don't confuse priv->type_hint with priv->gdk_type_hint
This broke, among the others, menu rendering.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
ee43f55b5f menuitem: mark with the GTK_STYLE_CLASS_MENUITEM style class 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
64aac9624c Use 16 as default size for checkbutton indicator
So that 16x16 icons can be used from themes such as Adwaita in their
natural size.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
ea7661cb3f switch: remove slider padding from available allocation when drawing
This also simplifies the code a bit, and makes previous workarounds
useless.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
6abbd68674 switch: fetch the padding values from the slider
It's the slider which acts as a child inside the container through, so
we should fetch the slider padding when computing height/width.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
c310c35a7a switch: propagate the active state to the slider 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
0ff4fdb233 combobox: add an arrow-scaling property to GtkComboBox 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
64ef11985b spinbutton: center-align by default 2011-03-03 17:48:25 -05:00
Cosimo Cecchi
fa4fb6724c arrow: x and y coordinates of the arrow rendering should be double
To prevent off-by-one rounding errors when drawing them later.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
230bd4b461 range: x and y coordinates of the arrow rendering should be double
To prevent off-by-one rounding errors when drawing them later.
2011-03-03 17:48:25 -05:00
Cosimo Cecchi
11f07f9bdc range: don't set junction sides on scrollbar steppers 2011-03-03 17:48:25 -05:00
Matthias Clasen
77e46de0e1 GtkScale: Add style classes for marks
This enables better styling of the slider in the presence of
marks. Based on a patch by Bastien Nocera,
https://bugzilla.gnome.org/show_bug.cgi?id=643685
2011-03-03 16:49:49 -05:00
Matthias Clasen
2a9d130ed2 GtkScale: Normalize mark positions
This is in preparation for making scale marks styling better.
As a side-effect, TOP and LEFT position are treated the same now,
as well as BOTTOM and RIGHT.

Based on a patch by Bastien Nocera,
https://bugzilla.gnome.org/show_bug.cgi?id=643685
2011-03-03 16:49:49 -05:00
John (J5) Palmieri
a47a7abe23 [gi] don't skip gtk_menu_attach_to_widget, correctly annotate the async callback 2011-03-03 16:06:28 -05:00
John (J5) Palmieri
cdf69b4bed [gi] add missing annotations for signals that emit Gdk.Events 2011-03-03 16:05:28 -05:00
Matthias Clasen
57fa43d44b Add a test for interpretation of mark positions 2011-03-03 13:48:34 -05:00
Matthias Clasen
1442fe9694 Don't distribute gdkconfig.h
https://bugzilla.gnome.org/show_bug.cgi?id=643440
2011-03-02 22:17:02 -05:00
Matthias Clasen
a3883683e5 Add GtkBuilder custom attributes for style classes
GtkWidget now parses custom attributes like

  <style>
     <class name="dark-label"/>
     <class name="big-heading"/>
  </style>

to add style classes to widgets.

https://bugzilla.gnome.org/show_bug.cgi?id=643347
2011-03-02 20:12:23 -05:00
Duarte Loreto
62fa7e803c Updated Portuguese translation 2011-03-02 23:48:34 +00:00
Benjamin Otte
7693804fcf window: Add check for X11 window when calling x11 function 2011-03-02 17:29:21 +01:00
Benjamin Otte
172f894120 settings: Always use the same default values
Set the Mac key theme when creating a Quartz settings object instead of
having it the default when quartz is enabled.
This keeps compatibility with the GTK2 behavior that the Mac key theme
is not used for the X11 backend, which could now happen for a
multi-backend build.
2011-03-02 17:18:49 +01:00
Benjamin Otte
e69badbcd1 settings: Keep the GtkSettings object identical no matter the backend
Previously we were enabling some settings properties only if the X11
backend was enabled. This worked fine with GTK2 where only one backend
was enabled at a time, but now when multiple backends can be enabled,
this does not make sense.
2011-03-02 17:02:51 +01:00
Benjamin Otte
399dc74d74 settings: Avoid a segfault when loading keyfile
When the keyfile is loaded, no screen exists yet, so we need to vheck
for that.
2011-03-02 16:21:44 +01:00
Kristian Høgsberg
fcd58b0ffd wayland: Add modifier masks for meta, hyper and super keys
Makes alt keybindings work in vte.
2011-03-01 11:33:07 -05:00
Kristian Høgsberg
0e1041a8af wayland: Add another cursor (left-ptr) 2011-03-01 11:32:05 -05:00
Tristan Van Berkom
c844a24ae6 Allow GtkAppChooser classes to be instantiated with content-type=NULL.
Mostly for corner cases such as Glade that treats objects generically
and needs to have an object that doesnt crash out of g_object_new().
2011-03-01 19:41:15 +09:00
Leonid Kanter
0e608f1b1f update Russian translation 2011-03-01 16:20:21 +02:00
Matthias Clasen
63c7701ca3 Don't use GDK_NONE when GDK_SELECTION_CLIPBOARD is meant 2011-02-28 19:25:35 -05:00
Patricia Santana Cruz
49c48546c8 Removed incorrect description's sentence.
Description was wrong when it explained: "The two areas are separated
by a GtkHSeparator.". These separators are not used any more.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=643496
2011-02-28 17:36:05 +00:00
Michael Natterer
033bd235b7 gdk: add precondition checks to many GdkDisplay functions
instead of crashing in GDK_DISPLAY_GET_CLASS(NULL)->foo(NULL);
2011-02-28 17:36:06 +01:00
Matthias Clasen
9707d8a3e6 Don't assert on zero width/height in render functions
We can just silently ignore those rendering calls.
https://bugzilla.gnome.org/show_bug.cgi?id=643041
2011-02-28 07:52:59 -05:00
Michael Natterer
8ee9e132e1 gdk: gdk_x11_device_xi2_get_state(): move stuff to local scope 2011-02-27 15:06:41 +01:00
Daniel Korostil
7e3c7e3aa3 Uploaded Ukranian 2011-02-27 12:20:37 +02:00
Matthias Clasen
7df2ce8eab Drop _gdk_x11_set_input_focus_safe
All that this function did was to asynchronously catch errors.
Since we have asynchronous error traps now, we can just use
XSetInputFocus().
2011-02-26 22:16:01 -05:00
Daniel Korostil
3dc3767d0c Uploaded Ukranian 2011-02-26 22:01:32 +02:00
Kristian Høgsberg
287d91e5f9 Merge remote-tracking branch 'origin/master' into gdk-backend-wayland
Conflicts:
	gdk/gdkdisplaymanager.c
2011-02-26 14:44:29 -05:00
Matthias Clasen
2e192d01f1 List all available icons in Makefile.am
This mismatch was causing e.g. gtk-caps-lock-warning.png to show
up as missing image in entries.
2011-02-26 00:23:47 -05:00
Matthias Clasen
46cc85fd7e GtkSwitch: use regular activation
GtkSwitch was listening for Space/Enter keyreleases itself, instead
of providing an 'activate' action signal, like e.g GtkButton. As a
side-effect, this fixes
https://bugzilla.gnome.org/show_bug.cgi?id=643321
2011-02-25 15:47:03 -05:00
Matthias Clasen
6b91392afd GtkTrayIcon: chain up in dispose
Pointed out in bug 643131
2011-02-25 14:48:55 -05:00
Tristan Van Berkom
f85e80aada More patchwork for icon view subclasses that access the icon view api prematurely.
In this patch we adress rows_reordered() and row_deleted() callbacks
(since some icon view subclasses manipulate the connected treemodel
from _init()).
2011-02-25 16:00:20 +09:00
Tristan Van Berkom
2408b1c59e More patchwork to ensure GtkIconView subclasses can use the icon view api
from the subclass's instance structure initializer
2011-02-25 15:07:55 +09:00
Carlos Garcia Campos
651410fa2a Copy event axes for double/triple click events in gdk_event_copy()
Button event axes for double/triple click events are freed by
gdk_event_free(), so copy them to avoid an invalid free when releasing a
copied event.
2011-02-25 09:13:35 +01:00
Federico Mena Quintero
6c4196e9e4 [GtkFileChooser] Fix initial selection when hidden files are shown
We were breaking prematurely out of the loop that goes through
each file that is pending selection; not only does that loop
disable filtering and show hidden files if needed, but it also
selects the files themselves.  So we need to walk the whole
list of files.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=643170
2011-02-24 14:56:57 -06:00
Tristan Van Berkom
4164a49b84 Added documentation to "cell-area" construct-only properties.
Indicate what kind of area will be used by default if none is
provided by the user.
2011-02-24 16:05:41 +09:00
Alexander Larsson
0b0f110152 Avoid spurious emissions of monitors-changed
The monitor change detection code in _gdk_x11_screen_size_changed() and
process_monitors_change() goes to some length to make sure its only emitted
when there is an actual change to the data visible via the GdkScreen monitors
api.

However, commit 662e69ad added some code that always emits "monitors-changed"
in _gdk_x11_screen_size_changed when we have randr13 and get a ConfigureNotify
on the root window (even though we may already have emitted it in the
RRScreenChangesNotify event!).

As far as I can tell this is due to a comment in the bug referenced by the
commit (https://bugzilla.gnome.org/show_bug.cgi?id=601712#c4) where it says:

  This version of the patch changes GdkDisplay to emit "monitors-changed" when
  the primary monitor changes (see the change in _gdk_x11_screen_size_changed).

And, if you remove this part of the change the signal is not emitted when just
the primary is changed. However, this is not really the right approach. We
should just also check for if the primary changes in process_monitors_change()
to avoid spurious signal emissions.

https://bugzilla.gnome.org/show_bug.cgi?id=643216
2011-02-24 19:47:02 +01:00
Klemen Košir
66e23b3a3b Updated Slovenian translation 2011-02-24 17:23:23 +01:00
Tristan Van Berkom
db4fa1a941 Removed unused EXPOSE_EVENT enumeration from the GtkWidget signals. 2011-02-23 22:07:27 +09:00
Tristan Van Berkom
30f03a1c65 Remove mention of GtkWidget::expose-event from docs in gtkwidget.c 2011-02-23 21:58:48 +09:00
Tristan Van Berkom
4d76644f5c Add more defensive code to avoid accessing GtkIconView's cell area before it exists.
Adding these cases here to cater to icon view subclasses that want to
access icon view APIs from the instance structure initializer instead
of properly waiting for the super class to initialize and adding renderers
from the ->constructor() vfunc.
2011-02-23 20:50:50 +09:00
Christian Kirbach
3ab4cb61e2 [l10n] Updated German translation 2011-02-23 23:08:02 +01:00
Aron Xu
a95e4c5ee1 Update Simplified Chinese translation. 2011-02-23 17:19:35 +00:00
Murray Cumming
8d54fa7102 More tiny documentation typo fixes. 2011-02-23 11:09:20 +01:00
Murray Cumming
f91c04e284 Minor documentation improvements
Mostly correcting it's to its and changing some , to .
2011-02-23 10:26:21 +01:00
Murray Cumming
31419f2026 GdkDevice: Minor improvement to the overview documentation.
The last paragraph still seems to be out of place though, as if it
was a previous attempt at an overview or part of some older text
elsewhere.

This overuses the passive too.
2011-02-23 09:37:06 +01:00
Matthias Clasen
15a2cf4548 Post-release version bump to 3.0.2 2011-02-21 18:58:22 -05:00
Matthias Clasen
753f372c01 Remove more unwanted garbage 2011-02-21 18:52:27 -05:00
Matthias Clasen
c9f0d78775 Remove some unwanted garbage 2011-02-21 18:41:46 -05:00
Matthias Clasen
f90f84bbc3 Fix distcheck 2011-02-21 18:34:09 -05:00
Matthias Clasen
cfba3a8f40 Update NEWS 2011-02-21 18:09:57 -05:00
Matthias Clasen
700276eae4 Don't export extra symbols for accessibility 2011-02-21 17:34:51 -05:00
Alexander Shopov
48ef37e489 Updated Bulgarian translation 2011-02-21 23:58:54 +02:00
A S Alam
c0daaccd09 update Punjabi Translation by A S Alam 2011-02-21 07:04:27 +05:30
Marc-André Lureau
f598f75dfb gdk_cursor_new_from_pixmap: Fix gdk_display_is_closed call
This was typoed in commit dfe6ba932c
https://bugzilla.gnome.org/show_bug.cgi?id=642843
2011-02-20 20:11:13 -05:00
Benjamin Otte
4a286010d3 docs: Fix typo 2011-02-21 00:06:08 +01:00
Benjamin Otte
5f2ac56ec6 docs: Replace pixmap use in migration guide with cairo surfaces
Merge my patch for this with Matthias' previous patch and keep the best
of both.

https://bugzilla.gnome.org/show_bug.cgi?id=642677
2011-02-20 23:46:58 +01:00
Benjamin Otte
ff5d4e13de textview: Remove x/y arguments from render_para() func
We were only passing 0 anyway and it's easy to translate the cairo
context in use instead of passing x/y coordinates.
2011-02-20 23:43:42 +01:00
Benjamin Otte
c647085e76 textview: Translate the cairo context instead of keeping y value
This avoids overflow when transforming a large value to a pango unit.
To reproduce the problem:
seq 200000 > test.txt && tets/print-editor test.txt
Then scroll to around line 140.000 to see it (depends on font size of
course).
2011-02-20 23:43:42 +01:00
Matthias Clasen
608c1e40eb Remove no-longer existing API from the migration guide
Some parts of the migration guide were written before the demise
of pixmaps, and still referred to pixmap API in their replacements.
2011-02-20 17:05:04 -05:00
Tor Lillqvist
acc01ac944 Tweak include order a bit to get around compilation errors
wintab.h defines an INT() macro that interfers with some lines in
commctrl.h.
2011-02-20 23:56:13 +02:00
Matthias Clasen
14fcfd3f7a Fix spelling
It is 'accessible', not 'accesible'.
2011-02-20 16:46:27 -05:00
Matthias Clasen
48b0a55775 React to is-focus change, not ignore it
A very old bug, noticed in
https://bugzilla.gnome.org/show_bug.cgi?id=642791
2011-02-20 16:45:41 -05:00
Jorge González
bffd26e476 Updated Spanish translation 2011-02-20 18:48:11 +01:00
Jorge González
3379c52f65 Updated Spanish translation 2011-02-20 18:47:10 +01:00
Jorge González
b9b07b2178 Updated Spanish translation 2011-02-20 18:22:59 +01:00
Bruce Cowan
5b420c024d Updated British English translation 2011-02-20 17:02:13 +00:00
Gabor Kelemen
00f960f5b6 Updated Hungarian translation 2011-02-20 15:56:33 +01:00
Matthias Clasen
1fb8812082 Correctly treat GdkColor properties
Noticed by Daniel Garcia,
https://bugzilla.gnome.org/show_bug.cgi?id=642782
2011-02-20 09:49:04 -05:00
Daniel Mustieles
5e5f232e78 Updated Spanish translation 2011-02-20 14:02:24 +01:00
Tor Lillqvist
8e6932f46e Handle emulated keyboard input that arrives as VK_PACKET
Fixes bug #642772. Thanks to the anonymous bug reporter for providing
a test program.
2011-02-20 01:39:13 +02:00
Matthias Clasen
50233edbc9 Replace GtkStyle uses from migration guide examples
Part of https://bugzilla.gnome.org/show_bug.cgi?id=642677
2011-02-19 13:47:43 -05:00
Matthias Clasen
5cb6beec54 Fix a typo
https://bugzilla.gnome.org/show_bug.cgi?id=642751
2011-02-19 13:35:55 -05:00
Andre Klapper
1a645d4e61 Fix typo 2011-02-19 19:34:30 +01:00
Matthias Clasen
2180267f5d Plug a memleak in the tracker search engine
Patch by Vincent Untz,
https://bugzilla.gnome.org/show_bug.cgi?id=642771
2011-02-19 13:31:50 -05:00
Matthias Clasen
84b259d076 Make gtk_combo_box_text_get_active_text() behave as documented
If there is an entry, it is supposed to return the contents
of the entry. Pointed out by Allin Cottrell,
https://bugzilla.gnome.org/show_bug.cgi?id=642681
2011-02-19 13:27:51 -05:00
Matthias Clasen
8d9144a0c4 Use the correct function to free boxed GdkColors
This fixes a segfault in gtk3-demo when running under accerciser.
2011-02-19 08:34:21 -05:00
Javier Jardón
d1fbb52eb4 docs: migrating-2to3: improve cross-reference 2011-02-18 22:17:04 +00:00
Javier Jardón
5a987c314b docs: migrating-2to3: Make the examples look prettier 2011-02-18 22:09:40 +00:00
Matthias Clasen
6d3b8c2c6b GtkSwitch: Add an AtkAction implementation 2011-02-17 23:06:33 -05:00
Matthias Clasen
163f0daf6a GtkSwitch: Use ATK_DEFINE_TYPE properly 2011-02-17 21:55:54 -05:00
Matthias Clasen
edeb6aaf88 Hypertext does not really make sense for GtkLinkButton
Instead, implement HyperLinkImpl and return the single link
object. This commit also adds an AtkAction implementation
for the link object.
2011-02-17 21:01:07 -05:00
Matthias Clasen
d6e3855f95 GailEntry: remove idle if cell editing is canceled
This avoids warnings when cell editing is interrupted e.g. by
adding or removing a row.
2011-02-17 19:17:36 -05:00
Matthias Clasen
f3687a9490 GailEntry: remove idle if cell editing is canceled
This avoids warnings when cell editing is interrupted e.g. by
adding or removing a row.
2011-02-17 19:06:19 -05:00
Matthias Clasen
0127d0bbc7 gtk-demo: plug a memleak in the editable cells demo 2011-02-17 18:49:01 -05:00
Matthias Clasen
e7d4d77093 Fix a memory leak with file chooser previews 2011-02-17 18:34:28 -05:00
Matthias Clasen
d93934ba6c gtk-demo: Make the menu example work again 2011-02-17 16:40:00 -05:00
Matthias Clasen
c9b152ec71 Remove a leaking get_name implementation
This was leaking a lot of memory; just rely on atk_object_get_name.
2011-02-17 15:57:39 -05:00
Matthias Clasen
91b8417d35 Don't leak the GDir in the iconview example 2011-02-17 15:57:39 -05:00
Carlos Garnacho
3f78b251b9 Free event axes for double/triple click events.
The button event axes are copied over when synthesizing
these events, so free them as well in gdk_event_free().
2011-02-17 20:45:32 +01:00
Carlos Garnacho
3100b76ba9 Fix parsing of color names containing numbers
They were being defined correctly through @define-color
in CSS, but parsing failed at the moment of creating
GtkSymbolicColors depending on these.
2011-02-17 20:10:49 +01:00
Matthias Clasen
bdacdfb78b Check if the accessible is actually an AtkAction 2011-02-17 13:29:59 -05:00
Matthias Clasen
ba6107d39a GailProgressBar: make value setters work 2011-02-17 13:20:27 -05:00
Matthias Clasen
3e4780b2e6 Add forgotten include 2011-02-17 13:17:09 -05:00
Matthias Clasen
13d717e2ce Fix includes in gtkassistant.c
Also fix a bad case in gtk_assistant_accessible_get_n_children.
2011-02-17 12:35:07 -05:00
Matthias Clasen
7bddfb5790 GtkAssistant: Use _gtk_accessible_set_factory_type 2011-02-17 12:25:23 -05:00
Matthias Clasen
1692829594 GtkGrid: Avoid problems with uninitialized memory
valgrind complained about these, and they make for bad size allocation
and the occasional crash.
2011-02-17 11:53:38 -05:00
Runa Bhattacharjee
da93864f58 Updated Bengali India Translation 2011-02-17 20:31:19 +05:30
Runa Bhattacharjee
515f0a47a9 Updated Bengali India Translation 2011-02-17 20:02:47 +05:30
Matthias Clasen
af0db9188a Add a AtkHypertext implementation for GtkLinkButton
https://bugzilla.gnome.org/show_bug.cgi?id=586201
2011-02-17 07:36:42 -05:00
Emmanuele Bassi
64934a7623 m4: Fix GTK_CHECK_BACKEND() to also check for a minimum version
This should make the macro slightly more useful.

Update the documentation mentioning the macro as well.
2011-02-17 09:33:07 +00:00
Emmanuele Bassi
a88a1fc832 Build fix in GtkSeparatorMenuItem
https://bugzilla.gnome.org/show_bug.cgi?id=642541
2011-02-17 09:24:25 +00:00
Matthias Clasen
ed901afe37 Use _gtk_accessible_set_factory_type in GtkSeparatorMenuItem 2011-02-17 01:34:10 -05:00
Matthias Clasen
221415f71f Use _gtk_accessible_set_factory_type in GtkSwitch 2011-02-17 01:32:24 -05:00
Matthias Clasen
e757d1b2d2 Use _gtk_accessible_set_factory_type for GtkIconView 2011-02-17 01:30:33 -05:00
Matthias Clasen
9d321437b6 Add a private function for accessible factory registration
This avoids repeating the same code for each widget that
has its own accessible implementation inside GTK+.
2011-02-17 01:24:43 -05:00
Matthias Clasen
4a4004b706 Add an a11y implementation to GtkSeparatorMenuItem
Its all boilerplate, and it more than doubles the line count.
Yay :-(
2011-02-17 00:44:26 -05:00
Matthias Clasen
fd069132fd ifdef X11-specific parts in gail
GTK_IS_PLUG() and GTK_IS_SOCKET() now need this protection.
https://bugzilla.gnome.org/show_bug.cgi?id=642263
2011-02-16 23:56:33 -05:00
Matthias Clasen
14cd22996d Remove a bunch of crazy code from gail
...and replace it with only slightly less crazy code.
No need to create an destroy hash tables for each key press.
2011-02-16 23:30:21 -05:00
Matthias Clasen
292e23f515 Forgotten file 2011-02-16 23:26:36 -05:00
Matthias Clasen
66db0d698a gail: Fix the atk_add_key_event_listener implementation
Based on a patch by Alejandro Piñeiro Iglesias,
https://bugzilla.gnome.org/show_bug.cgi?id=599907
2011-02-16 22:57:25 -05:00
Matthias Clasen
4757979075 gail: support indeterminate state of check menuitems
Patch by Szilárd Pfeiffer
https://bugzilla.gnome.org/show_bug.cgi?id=626730
2011-02-16 22:35:16 -05:00
Matthias Clasen
f746329933 Fix gailstatusbar problems
Reported in https://bugzilla.gnome.org/show_bug.cgi?id=630971
2011-02-16 21:58:10 -05:00
Matthias Clasen
405b54c72e Check the return value of gtk_tree_model_get_iter
Noticed in passing, didn't really see it crash there, but
better safe than sorry.
2011-02-16 18:48:42 -05:00
Matthias Clasen
0c3da06a62 gtk_tree_model_filter_row_deleted: don't emit signals too early
gtk_tree_model_filter_row_deleted was emitting ::row-deleted while
the internal state of the model was still in disarray, causing
segfaults e.g. when mapping the file chooser with accessibility
turned on. This is just a bandaid fix, and doesn't try address
any of the deeper problems of the filter model code.

I did take the time to reduce rampant variable shadowing in that
function, though.
2011-02-16 18:48:42 -05:00
Emmanuele Bassi
32298832ed Allow checking for GDK backends
Now that a single shared object can contain multiple backends we also
need to provide a simple way for third party code to verify that the
copy of GDK they are linking to supports their backend.

The simplest way to verify is an m4 macro, GTK_CHECK_BACKEND(), shipped
with the gtk+ m4 macros.

The usage is pretty basic:

  GTK_CHECK_BACKEND([x11], [gtk_has_x11=yes], [gtk_has_x11=no])
  AM_CONDITIONAL(BUILD_X11_CODE, test "x$gtk_has_x11" = "xno")

https://bugzilla.gnome.org/show_bug.cgi?id=642479
2011-02-16 18:46:19 +00:00
Michael Natterer
68d176d80b gtk: don't always invalidate spinbuttons on each leave_notify()
but only when an arrow was prelighted. Also, chain up unconditonally
in enter_notify() and leave_notify() because GtkEntry implements them
too.
2011-02-16 18:42:18 +01:00
Daniel Korostil
97d1f1d16f Uploaded Ukranian 2011-02-16 07:30:59 +02:00
Daniel Korostil
9799519555 Updated Ukranian 2011-02-15 21:58:06 +02:00
Matthias Clasen
f04504ac94 Allow custom icon size in gtk_render_icon_pixbuf()
Pointed out in bug 642213.
2011-02-14 13:22:28 -05:00
Javier Jardón
b1a0a08d94 testgtk: Fix compilation warning 2011-02-13 14:21:12 +00:00
Javier Jardón
3842399b70 configure.ac: Remove fd_set checks
fd_set uses were removed in GTK+ 2.2
2011-02-13 12:23:01 +00:00
Martin Nordholts
a3f52949c4 Bug 633291 - Handle Shift-keys in X11 gdk_test_simulate_key()
If a level 1 key maps to a key value passed to
gdk_test_simulate_key(), raise the GDK_SHIFT_MASK flag so the reqested
key value is generated. Also add a regression test for this fix.
2011-02-13 12:57:01 +01:00
Javier Jardón
932ab55c65 configure.ac: Use AC_CONFIG_COMMANDS instead deprecated AC_OUTPUT_COMMANDS 2011-02-13 11:10:35 +00:00
Javier Jardón
dffc96a241 configure.ac: Use AC_PREPROC_IFELSE instead deprecated AC_TRY_CPP 2011-02-13 11:10:23 +00:00
Javier Jardón
efeade2a06 configure.ac: Use AC_RUN_IFELSE instead deprecated AC_TRY_RUN 2011-02-13 11:09:49 +00:00
Javier Jardón
d5872527e5 configure.ac: Use AC_LINK_IFELSE instead deprecated AC_TRY_LINK 2011-02-13 11:09:41 +00:00
Nguyễn Thái Ngọc Duy
8c4d8c1aed Updated Vietnamese translation 2011-02-13 17:51:49 +07:00
Nguyễn Thái Ngọc Duy
48819b4de7 po/vi.po: import from Damned Lies 2011-02-13 17:40:54 +07:00
Benjamin Otte
33a46dd553 gdk: Select the X11 backend a the last possible backend
On Windows and OS X we want to prefer the native backends over the X11
backend.
On Linux, nothing changes as nobody is going to enable those backends
(and if they do, they'll know what they get).
2011-02-12 22:09:58 +01:00
Benjamin Otte
9f5c734e14 doc: Document the GDK_BACKEND environment variable 2011-02-12 22:09:58 +01:00
Benjamin Otte
a1d96af9ed colorsel: Remove WINDOWING ifdef
That one was leftover from the times when GDK didn't allow pointer
warping and we had an X11-specific solution.
2011-02-12 22:09:58 +01:00
Changwoo Ryu
81229e737a Update Korean translation 2011-02-13 04:53:59 +09:00
Matthias Clasen
9f12cc3dcd Protect x11-specific functions in gtktypefuncs.c
This is just a bandaid fix, we really need to systematically collect
type functions for all backends.
2011-02-12 09:12:36 -05:00
Matthias Clasen
3138c3ddcb No GTK_ENABLE_BROKEN anymore
We stopped shipping broken stuff...
2011-02-12 08:26:21 -05:00
danigm
799c3e4e57 gail: Fixing little bug, gail_misc_add_attribute returns the new attrib_set
Some calls to gail_misc_add_attribute doesn't assing the return
 valute to attrib_set, so the attrib_set never get modified.
2011-02-12 08:17:00 -05:00
Matthias Clasen
d05d924516 Silence more compiler warnings 2011-02-12 08:01:51 -05:00
Matthias Clasen
bfd66fe3a3 Quell compiler warnings 2011-02-12 08:01:51 -05:00
Kjartan Maraas
086f266767 Updated Norwegian bokmål translation. 2011-02-12 13:44:48 +01:00
Yaron Shahrabani
c526c1bf76 Updated Hebrew translation 2011-02-12 11:39:17 +02:00
Abduxukur Abdurixit
5a86445538 Added UG translation 2011-02-12 08:18:25 +01:00
Matthias Clasen
10ebea8c03 Use standard icon names 2011-02-11 23:53:39 -05:00
Matthias Clasen
728a45fc1f Remove confusion over XI2 defines
Some places were using XINPUT_2, others XINPUT_XI2. Since configure
defines XINPUT_2, use that throughout.
2011-02-11 23:30:01 -05:00
Benjamin Otte
de9a082ddb x11: Make headers identical no matter if we run with or without XI2
Previously we weren't installing the device headers when compiling
without XINPUT support. But we would include them from gdkx.h, so
essentially the build was broken.

With this patch the types will exist but not do anything.
2011-02-12 01:27:40 +01:00
Benjamin Otte
30abd4d8b5 x11: Fix struct definition for GdkDeviceManagaerXI2 2011-02-12 00:16:03 +01:00
Benjamin Otte
ac6c6b03d9 gtk: Fix warnings for dnd code without XInput 2011-02-11 23:53:48 +01:00
Benjamin Otte
e9ff457a40 x11: Make the device manager struct actually subclass the correct device 2011-02-11 23:53:14 +01:00
Benjamin Otte
ccc3679a62 stylecontext: Use the common approach for priate pointers
Has two advantages:
1) consistency
2) "print *context->priv" actually works in gdb
2011-02-11 23:21:11 +01:00
Benjamin Otte
0bd0854d4d icontheme: constify arguments to gtk_icon_theme_load_symbolic() 2011-02-11 23:21:11 +01:00
Benjamin Otte
b1f2e5bfa3 x11: Fix build without Xinput
Missing ifdefs
2011-02-11 23:21:11 +01:00
Kristian Høgsberg
b5134619a0 wayland: Map transient surfaces as such 2011-02-11 17:20:14 -05:00
Kristian Høgsberg
1cd65aea53 wayland: Only set x, y, and modifiers if the pointers are non-NULL 2011-02-11 17:07:19 -05:00
Colin Walters
63b415df92 docs: Link to all versions of both GTK3 and GTK2
Now that library supports both cleanly, fix the links so that
the user can go from the online doc to any version better.
2011-02-11 12:39:07 -05:00
Kristian Høgsberg
152dca40d3 wayland: Remove window cursor hash 2011-02-11 10:06:56 -05:00
Alexander Larsson
d8f061ad42 [broadway] Update to new GDK backend APIs 2011-02-11 15:59:50 +01:00
Kristian Høgsberg
ffe3af7f1c wayland: There's only one screen 2011-02-11 09:56:58 -05:00
Kristian Høgsberg
6eac07d4f6 wayland: Trim some unused struct fields 2011-02-11 09:50:10 -05:00
Alexander Larsson
e68774325e [broadway] Update to new library name 2011-02-11 15:38:41 +01:00
Alexander Larsson
d4add8cefa Merge branch 'master' into broadway 2011-02-11 15:27:54 +01:00
Chun-wei Fan
d847f489f0 Win32 Visual C++ Support: Some more clean-ups
Update gtk+.vsprops...

Since gdkconfig.h should now reside in gdk/, there
is no longer need to create a lib/gtk-3.0/include folder.
2011-02-11 18:41:22 +08:00
Chun-wei Fan
7cb41b6561 gdk/gdkconfig.h.win32: Make it more up-to-date
Make this pre-configured file to be more like the one used by the existing
X11 version, but using GDK_WINDOWING_WIN32 for obvious reasons.
2011-02-11 18:07:05 +08:00
Michael Natterer
1865011b7f gtk: don't send BUTTON_RELEASE to unrealized widgets
which happened when the source widget was hidden or destroyed while a
drag was going on, like when dragging from a popup that got a grab
broken as result of the dnd operation.
2011-02-11 10:48:43 +01:00
Chun-wei Fan
bba7a98cc6 Visual C++ support: Fix the gdk-win32 Project
Apparently I previously had one of the source files wrong here...
Update this to reflect the correct file.
My fault for not seeing this earlier-sorry.  DOH.
2011-02-11 17:45:32 +08:00
Kristian Høgsberg
f2ac8c7ce3 wayland: Drop empty gdkscreen-wayland.h 2011-02-10 23:00:12 -05:00
Kristian Høgsberg
4ca3e53a3e wayland: Drop GdkToplevelWayland and gdkwindow-wayland.h 2011-02-10 22:51:23 -05:00
Kristian Høgsberg
cd91551075 wayland: Fix resizing from other corners than just botton-right 2011-02-10 22:37:51 -05:00
Kristian Høgsberg
cfb9c840e5 wayland: Remove some fprintf debug messages 2011-02-10 22:22:42 -05:00
Kristian Høgsberg
6d20bcb848 wayland: Fix hiding and withdrawing surfaces 2011-02-10 22:21:08 -05:00
Kristian Høgsberg
22b9132ae5 wayland: Keep a reference to the surface we last attached 2011-02-10 22:04:26 -05:00
Kristian Høgsberg
3b205de896 wayland: Port over missing xkb functionality from X11 backend 2011-02-10 20:34:14 -05:00
Kristian Høgsberg
0db8663e44 wayland: Copy gdk_wayland_keymap_translate_keyboard_state from X11 backend 2011-02-10 16:35:38 -05:00
Kristian Høgsberg
f0fe810999 wayland: Adjust the hw keycode in key events for min_key_code 2011-02-10 16:34:40 -05:00
Matthias Clasen
d4ac3c8561 Bump version to 3.0.1 2011-02-10 15:27:54 -05:00
Matthias Clasen
edf592024b Correct sonames appearing in the docs 2011-02-10 15:02:33 -05:00
Matthias Clasen
10b7f70bb2 Mention library soname change 2011-02-10 15:00:20 -05:00
Matthias Clasen
524ce69bcb Bump the version to 3.0.0
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
2011-02-10 14:41:02 -05:00
Matthias Clasen
c7d41ac54f Minor formatting tweak 2011-02-10 14:37:31 -05:00
Matthias Clasen
9455ce96ca Remove a long-unsupported script that does nothing 2011-02-10 14:31:31 -05:00
Kristian Høgsberg
c3955ea0c2 wayland: Add a few more cursors 2011-02-10 14:08:53 -05:00
Kristian Høgsberg
b4129c14cb gtkwidget: Only call X GDK functions when the window is an X window 2011-02-10 13:44:45 -05:00
Kristian Høgsberg
df0815470c wayland: Return surface coordinates and mask in window_at_position 2011-02-10 13:42:59 -05:00
Kristian Høgsberg
4621c6476c wayland: Send visibility event after map 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
9e1a0a1bec wayland: Fix indentation 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
df57389190 wayland: Unref the keyboard focus surface when losing keyboard focus 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
f62e4a02b6 wayland: Use GDK_NOTE for logging event debug messages 2011-02-10 11:02:15 -05:00
Kristian Høgsberg
9f0ed18d5a wayland: Set event screen 2011-02-10 10:57:33 -05:00
Kristian Høgsberg
1b918d1b93 wayland: Pretend selection works, print debug message 2011-02-10 10:54:10 -05:00
Kristian Høgsberg
3beb09adca wayland: Copy translate_keyboard_string() form x11 backend 2011-02-10 10:53:31 -05:00
Kristian Høgsberg
0583603b09 wayland: Actually return device in _gdk_wayland_device_get_device() 2011-02-10 10:49:51 -05:00
Kristian Høgsberg
f7f1b59e05 wayland: Handle blank cursor 2011-02-10 10:49:09 -05:00
Murray Cumming
b91549a38a Add "extern C" declarations around AppChooser headers.
This is necessary to allow linking from code compiled as C++.
2011-02-10 10:02:38 +01:00
Matthias Clasen
3f1c95de8d Don't try to modify readonly strings
This was an oversight in the recent accel label improvement.
When we get an untranslated string back from gettext(), it is
not ok to replace '_' by ' ' in-place. Instead, do it while
appending to the GString.
https://bugzilla.gnome.org/show_bug.cgi?id=641912
2011-02-09 17:32:05 -05:00
Matthias Clasen
981cadb578 Make online references point to the right place 2011-02-09 16:54:19 -05:00
Matthias Clasen
13d249ae19 Change the title of the GDK docs to mention '3'
This is necessary in preparation for having 2.x and 3 docs
listed next to each other on library.gnome.org.
2011-02-09 16:44:19 -05:00
Kristian Høgsberg
de82b82dd8 wayland: Clear modifier mask before restoring from keyboard_focus value 2011-02-09 16:36:15 -05:00
Kristian Høgsberg
c36dfccc64 wayland: Consolidate device and devicemanager implementation 2011-02-09 15:27:08 -05:00
Kristian Høgsberg
3ef3433511 wayland: Support setting cursors
And a handful unrelated cleanups.  Still doesn't really have an answer
for cursor themes.
2011-02-09 14:48:31 -05:00
Carlos Garnacho
e1dbc871fe Change required glib version from "2.28" to "2.28.0"
Fixes the recent configure error:
  checking for GLIB - version >= 2.28... 2.28, bad version string

introduced by 95446c311
2011-02-09 20:08:35 +01:00
Carlos Garnacho
d1632f87d1 Avoid the need for cairo_push_group() in gtk_render_background()
This operation is potentially expensive, so the code has been
refurbished so avoid the cases it was needed for. Antialiased
cairo_clip() has been also reduced to transitions with surface
patterns involved.
2011-02-09 20:05:32 +01:00
Tristan Van Berkom
f2ff2138db Added padding to GtkTextLineDisplay struct for an addition of GdkRGBA pointer comming soon. 2011-02-10 04:04:31 +09:00
Javier Jardón
95446c311d configure.ac: Depend on stable versions of other libraries 2011-02-09 15:55:06 +00:00
Matthias Clasen
f0fabcd9e4 Quell another warning 2011-02-09 09:25:31 -05:00
Matthias Clasen
69745041f8 Add some more info for desktop app info
Small gotchas that can easily be avoided.
2011-02-09 09:01:16 -05:00
Matthias Clasen
8291530abf More GDK documentation tweaks 2011-02-09 02:44:19 -05:00
Garrett Regier
adef25626e Fix annotation that broke the docs
It was added in 0e795b67c3
and removed in f6cc08fa57.
2011-02-08 23:06:42 -08:00
Matthias Clasen
1f4bb70bac Give the GDK docs some love
Reorganize some sections, drop the largely redundant multihead
section, add some more information about multiple backends.
2011-02-09 01:32:24 -05:00
Matthias Clasen
7e7eaf315b Documentation tweaks 2011-02-09 00:21:37 -05:00
Matthias Clasen
5ada6ac197 Remove no-longer exported symbols from the symbol list 2011-02-08 23:21:40 -05:00
Matthias Clasen
49433673fc Don't export GtkModifierStyle symbols
This is not public API, so don't export it.
2011-02-08 23:21:39 -05:00
Matthias Clasen
861ba00166 Don't export gtk_cell_area_box_init_groups
That function can't be meant to be public, since it take
a GtkCellAreaBoxContext argument, which is not a public type.
2011-02-08 23:21:39 -05:00
Matthias Clasen
394ae46ec0 Add some missing symbols to the docs 2011-02-08 23:21:39 -05:00
Javier Jardón
32398f11fa README.in: Fix link to the migration guide 2011-02-09 01:10:38 +00:00
Matthias Clasen
f6cc08fa57 Remove annotation that breaks the docs
Before adding annotations, please check that gtk-doc can handle
them. Else they will be stripped out again.
2011-02-08 20:00:27 -05:00
Matthias Clasen
57d5328685 Add links to the migration guide 2011-02-08 19:07:46 -05:00
Matthias Clasen
83478ae3a3 Define the required introspection version in configure.ac 2011-02-08 18:40:08 -05:00
Matthias Clasen
e56de510c0 Update NEWS 2011-02-08 18:32:45 -05:00
Kristian Høgsberg
546069f434 wayland: Use wayland-egl 2011-02-08 16:02:22 -05:00
Daniel Mustieles
a189d1e4a0 Updated Spanish translation 2011-02-08 21:01:05 +01:00
Matthias Clasen
d2bdd50a0b Extend the mixed-dependency check to modules as well
This helps prevent accidents with GTK_PATH.
2011-02-08 13:49:16 -05:00
Matthias Clasen
99b5af11e4 Add warnings about environment variables
These variables all get read by GTK 2.x as well, which makes
them dangerous at best.
2011-02-08 13:11:18 -05:00
Johan Dahlin
6a40c0f865 introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES.  Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
2011-02-08 13:30:24 -02:00
Johan Dahlin
358a2b8675 Rename time to time_ to avoid a scanner warning 2011-02-08 13:29:57 -02:00
Johan Dahlin
60e0acfc11 Remove tab as it confused g-ir-scanner 2011-02-08 13:20:53 -02:00
Colin Walters
7711f9fad4 introspection: Remove redundant include
Gdk-3.0 is already included above via --include-uninstalled, so
don't also specify it in INCLUDES.  Doing so breaks if it isn't
installed already, since we try to find the gdk-3.0.pc.
2011-02-08 10:16:55 -05:00
Kristian Høgsberg
541d5172dd Track 2.99.3 API changes 2011-02-08 08:12:59 -05:00
Benjamin Otte
1483145806 API: image: Move private struct definitions into private header
They weren't privatized because the dnd code used them, too. But a
private header can allow the dnd code to be nasty, so go dnd code!
2011-02-08 08:58:49 +01:00
Benjamin Otte
c1f8330a28 gdk: Fix typo in documentation string 2011-02-08 08:58:49 +01:00
Carlos Garnacho
15fdf90265 doc: Add a note about prioritization of GtkStyleProviders
It was unclear in the docs what happened if
gtk_style_context_add_provider() and
gtk_style_context_add_provider_for_screen()
were used with the same priority.
2011-02-08 04:17:56 +01:00
Matthias Clasen
3a50b460c6 Update the context direction when emitting ::direction-changed
This makes the flipping example in testgtk work as expected again.
https://bugzilla.gnome.org/show_bug.cgi?id=632775
2011-02-07 20:37:09 -05:00
Matthias Clasen
208974636f Set the correct initial value for the direction property 2011-02-07 20:36:46 -05:00
Carlos Garnacho
2be692687f Fix color style properties lookup when the color resolution fails
The cached GValue ended up with a GtkSymbolicColor type, so
the contained value was bogus. Noticed by Mitch.
2011-02-07 19:56:17 +01:00
Matthias Clasen
23f9bdd586 Fix problems with state propagation
Sensitivity changes were not properly propagated down the
hierarchy. There were two issues here:

a) correctly identifying when a state change request affects
   sensitivity
b) not filtering out sensitivity in gtk_widget_propagate_state(),
  since gtk_widget_set_sensitivity() uses that to do its work

https://bugzilla.gnome.org/show_bug.cgi?id=641431
2011-02-07 11:27:50 -05:00
Tristan Van Berkom
1c20c93423 Optimize queue_resize_on_widget()
Optimized GtkSizeGroup code that is invoked for every queued resize
and every request that is not previously cached by trading qdata on
widgets for 3 extra bitfields on the GtkWidgetPrivate structure.
2011-02-08 00:39:51 +09:00
Javier Jardón
db97f8660a Use faster new G_VALUE_COLLECT_INIT variant instead G_VALUE_COLLECT
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=641621
2011-02-07 13:14:47 +00:00
Matthias Clasen
beb8c290d1 Always chain up in ::style-updated
This was not handled consistently, but the default handler
does useful things, so we should always chain up.
2011-02-07 07:30:37 -05:00
Javier Jardón
14eb34874a configure.ac: Remove some more obsolete macros
AC_TYPE_SIGNAL: obsolete when assuming C89 or better
AC_HEADER_SYS_WAIT: current systems are compatible with POSIX
2011-02-06 22:52:55 +00:00
Javier Jardón
8a965b9786 configure.ac: Use AC_COMPILE_IFELSE instead deprecated AC_TRY_COMPILE 2011-02-06 20:36:37 +00:00
Javier Jardón
c734bb8e83 configure.ac: Use AS_HELP_STRING instead deprecated AC_HELP_STRING 2011-02-06 20:36:37 +00:00
Javier Jardón
899019d56a configure.ac: Remove some obsolescent macros
AC_C_CONST: current C compilers support const
AC_TYPE_SYGNAL: obsolete when assuming C89 or better
AC_HEADER_STDC: current systems have conforming header files
2011-02-06 20:36:37 +00:00
Matthias Clasen
9bd175536b Add a testcase for state propagation problems 2011-02-06 14:14:48 -05:00
Kjartan Maraas
24c37e966c Updated Norwegian bokmål translation. 2011-02-06 19:14:53 +01:00
Hans Breuer
733731e80b No more gtk_plug_*/gtk_socket_* symbols on win32 2011-02-06 15:07:14 +01:00
Hans Breuer
b41ee31a16 win32: no more GdkNativeWindow and related changes
- replace GdkNativeWindow with HWND, remove type casts
 - no more GdkDisplayClass::get_drag_protocol but GdkWindowImpl::get_drag_protocol
 - remove *_client_message*()
2011-02-06 15:07:13 +01:00
Hans Breuer
f55ccce2d9 win32: msvc build update 2011-02-06 15:07:12 +01:00
Michael Natterer
e39e8acd67 gtk: gtk_cell_renderer_get_state(): check the widget's effective sensitivity 2011-02-06 14:47:58 +01:00
Michael Natterer
1c0f85a813 gtk: gtk_cell_renderer_get_state(): a row can be both selected and insensitive
so pull the SELECTED state flag out of the !sensitive branch. Also,
don't make FOCUSED depend on SELECTED here, it's up to the widget to
decide whether or not that is possible.
2011-02-06 14:45:49 +01:00
Piotr Drąg
1aaed01d4f Updated Polish translation 2011-02-06 14:11:57 +01:00
Michael Natterer
330158977d gtk: make the .trough background-color darker() as it was in GTK+ 2.x 2011-02-06 13:48:42 +01:00
Carlos Garnacho
42778894c0 s/state_changed/state_flags_changed/ in GtkComboBox 2011-02-06 11:21:42 +01:00
Carlos Garnacho
baa6343233 Handle insensitive cell renderer flags in gtk_cell_renderer_get_state() 2011-02-06 11:21:42 +01:00
Carlos Garnacho
217d3fd796 GtkStyleContext is meant to have a GdkScreen
It is used to get the default providers, without them
the style context can't do much. A check for NULL screen
is done before any sensitive call to
gtk_style_context_set_screen(), in the hope that any widget
will open the display before doing anything related to
styling. Fixes bug #641429, reported by Bastien Nocera.
2011-02-06 11:21:42 +01:00
Michael Natterer
f23585b7bb gtk: bail out in render_background_internal() if the extents are <= 0
otherwise we run into scaling the cairo_t into a borken state that's
not fixable by cairo_restore().
2011-02-06 11:17:59 +01:00
Michael Natterer
858ba35873 gtk: remove function gtk_entry_queue_draw() and call gtk_widget_queue_draw()
the old function was a leftover from when GtkEntry had a window
and was now invalidating the entire toplevel on each entry change.
2011-02-06 11:17:58 +01:00
Michael Natterer
c1bc521e92 gtk: get rid of two cases of invalidating the spinbutton when not needed 2011-02-06 11:17:58 +01:00
Fran Diéguez
69e4a3f235 Updated Galician translations 2011-02-06 00:26:36 +01:00
Kristian Høgsberg
1149c342bf Clean up buffer handling a bit 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
846e2c0eee Remove leftover _gdk_windowing_set_cairo_surface_size() 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
a65fcd0859 Hook up xkb_keysym_to_string and xkb_string_to_keysym 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
7d29070faf Implement GdkKeymap using libxkbcommon 2011-02-05 16:11:55 -05:00
Kristian Høgsberg
799279daf0 Invalidate window on configure
This will trigger a repaint of the window, but it may be more efficient
to just copy back the old surface contents and let gtk+ just update the
changed parts.
2011-02-05 16:11:54 -05:00
Kristian Høgsberg
56de871bf3 Create and attach buffer at process_updates time
This way we don't try to show the buffer until we've handle the initial
expose.
2011-02-05 16:11:54 -05:00
Kristian Høgsberg
7bbc158217 Remove copy of grab enum that's now in wayland core 2011-02-05 16:11:54 -05:00
Kristian Høgsberg
e6c1f5d94d Dont iterate the display if there's nothing to write 2011-02-05 16:11:54 -05:00
Kristian Høgsberg
590f3dfa1f Add Wayland backend 2011-02-05 16:11:54 -05:00
Matthias Clasen
bfaf472e70 Avoid tons of warnings from stylecontext initialization without screen
This reverts part of commit 4dc9b29.
2011-02-05 11:21:21 -05:00
Matthias Clasen
2e093cdc20 Demonstrate the problem with a workaround 2011-02-05 10:58:50 -05:00
Carlos Garnacho
c0ba1c96d4 Ensure gtk_render_background()/frame() yield the same shape
On rounded boxes the background and the frame wouldn't fit in
perfectly, leaving some visual noise in the corners. This is now
gone.
2011-02-05 15:26:40 +01:00
Carlos Garnacho
4c40349b92 Use cairo_push_group() to mix backgrounds during transitions
It also helps remove the cairo_clip() call to achieve the rounded
shape.
2011-02-05 15:26:40 +01:00
Michael Natterer
c990699922 gtk: don't style GtkLabel:selected's color separately
or labels in selected state will not have a different color. Reviewed
by Carlos.
2011-02-05 14:10:18 +01:00
Matthias Clasen
ceeb50be9a Don't leak a cell area context 2011-02-05 02:03:35 -05:00
Matthias Clasen
ab66ac50cf Migration guide additions
Some information about plugs and sockets, and event filters.
2011-02-05 01:56:19 -05:00
Matthias Clasen
19092fe44f Add a testcase for cell positions 2011-02-05 01:24:21 -05:00
Bastien Nocera
8f870ddcdc gtk-demo: Use symbolic icon that exists
For the Images test.
2011-02-05 03:20:27 +00:00
Matthias Clasen
5f04bf6429 Simple test for display-less widget creation 2011-02-04 22:06:25 -05:00
Matthias Clasen
4dc9b294d8 Don't assume a screen exists before realize()
Fix for https://bugzilla.gnome.org/show_bug.cgi?id=641429
2011-02-04 22:03:11 -05:00
Matthias Clasen
2b2e607492 Improve GtkApplication migration guide
As pointed out in bug 641517, the examples did not actually
do the same.
2011-02-04 21:21:14 -05:00
Matthias Clasen
3c1ff82b21 Fix a memory leak in GtkCSSProvider
Found by Felix Riemann
https://bugzilla.gnome.org/show_bug.cgi?id=641558
2011-02-04 21:13:56 -05:00
Matthias Clasen
eaba2cd468 XI2: translate group state back into core state
This is necessary to make the key event translation work
as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=641367
2011-02-04 21:11:40 -05:00
Matthias Clasen
d4c1dbe3d7 Pass group state to _gdk_x11_device_xi2_translate_state
This will be necessary to make groups work with XI2.
2011-02-04 21:11:40 -05:00
Matthias Clasen
2c352f51a0 Share code to fill GdkEventKey.string
This code was duplicated between the core and XI2 device manager
implementations.
2011-02-04 21:11:40 -05:00
Khaled Hosny
4960a81082 Updated Arabic translation 2011-02-05 00:32:07 +02:00
Matthias Clasen
3cb758a7b9 Add an empty English translation for properties
Otherwise the build is unhappy about en in LINGUAS
2011-02-04 17:18:24 -05:00
Matthias Clasen
9a7708952c Add an English translation
Currently, this just includes translations for keysyms.
2011-02-04 15:35:44 -05:00
Matthias Clasen
b6783933c9 Strip XF86 prefix from untranslated keysyms
When we don't have translations, at least remove the
ugly XF86 prefix.
2011-02-04 15:34:36 -05:00
Matthias Clasen
08f90b71a2 Add translation entries for more common keysyms
In particular, the XF86 keysyms can benefit from a translation
that strips the prefix.
2011-02-04 15:33:36 -05:00
Matthias Clasen
9ba009a8eb Remove debug spew 2011-02-04 14:05:22 -05:00
Matthias Clasen
272aa7bc55 XI2: don't translate button releases as scroll events
This fixes scroll-by-2 sympoms seen in combo boxes.
https://bugzilla.gnome.org/show_bug.cgi?id=639846
2011-02-04 12:54:44 -05:00
Javier Jardón
03df034684 Remove latest bits of GtkItemFactory 2011-02-04 17:30:11 +00:00
Tristan Van Berkom
012bc98936 Fixed gtk_recent_chooser_menu_set_current_filter to update the local pointer.
Before this patch, unsetting the filter manually before disposing
the recent chooser menu (or unsetting the filter twice), would cause
warnings (or invalid memory accesses).
2011-02-05 01:00:55 +09:00
Yaron Shahrabani
86b5252a93 Updated Hebrew translation. 2011-02-04 09:10:23 +02:00
Matthias Clasen
99691ab7aa Protect against tree_view being NULL
This apparently happens when setting the "visible" property
from ui files.
https://bugzilla.gnome.org/show_bug.cgi?id=640801
2011-02-03 14:40:53 -05:00
Tristan Van Berkom
b51f3ffffc Added set_transient_for() implementation for GdkOffscreenWindow
Just a noop that is better than crashing in the case this is called
(it can be called for a toplevel GtkWindow that is parented into
another widget by setting gtk_widget_set_parent_window to an offscreen
window).
2011-02-03 23:52:12 +09:00
Laszlo Pandy
395b13bbce [GI] Add method annotation for gtk_grab_add and gtk_grab_remove. 2011-02-03 15:20:51 +01:00
Laszlo Pandy
295c2fe8d1 [GI] Add method annotations to remaining gtk_drag_* functions.
https://bugzilla.gnome.org/show_bug.cgi?id=639945
2011-02-03 15:10:43 +01:00
Tristan Van Berkom
d799d6d4f0 Fixing GtkColorButton to redraw itself when gtk_color_button_set_rgba() is called. 2011-02-03 23:02:15 +09:00
Tristan Van Berkom
b01fc35c18 Added default implementations of various GtkCellArea vfuncs.
Having default implementations on abstract classes that do nothing
or print errors make life easier for language bindings implementors,
inside GTK+ this makes little or no difference.
2011-02-03 19:03:49 +09:00
Tristan Van Berkom
ce000db7f6 Added default implementation of GtkCellRendererClass.get_request_mode()
Having default implementations on abstract classes that do nothing
or print errors make life easier for language bindings implementors,
inside GTK+ this makes little or no difference.
2011-02-03 19:01:55 +09:00
Matthias Clasen
7894ff4bcb Don't g_object_unref cairo surfaces
This was causing warnings when dragging text from labels.
2011-02-02 22:05:26 -05:00
Piotr Drąg
a7a606e61a Updated Polish translation 2011-02-02 18:06:02 +01:00
Piotr Drąg
0c2e2b17e4 Updated Polish translation 2011-02-02 18:06:02 +01:00
Martin Pitt
1bd36ce723 [GI] Annotate gtk_drag_{dest,source}* as methods
As these do not start with gtk_widget_*, the GI scanner does not recognize them
as methods. With the recently added (method) annotation [1] it is now possible
to mark them as proper methods of GtkWidget.

https://bugzilla.gnome.org/show_bug.cgi?id=639945

[1] http://git.gnome.org/browse/gobject-introspection/commit/?id=09bca85dd4
2011-02-02 17:51:48 +01:00
Changwoo Ryu
a1d5901e80 Updated Korean translation 2011-02-03 00:29:38 +09:00
Martin Pitt
0e795b67c3 [GI] Mark mis-detected constructors as such
constructors which take an object of the same class as its first argument are
mis-detected as method call with "self" argument by the GIR scanner. Using the
new (constructor) annotation from bug 561264, mark some of them as proper
constuctors, so that you can call them with NULL as first argument from
bindings; in particular, this fixes gdk_window_new() and the
gtk_radio_button_new_with*() constructors.
2011-02-02 15:11:06 +01:00
Matthias Clasen
3067ef4a9b Fix the build with --enable-gtk2-dependency 2011-02-02 01:30:21 -05:00
Tristan Van Berkom
2e34842b1a Fixed GtkCellLayout buildable implementation to set cell properties explicitly set to "" (i.e. explicitly set to nothing). 2011-02-02 15:22:31 +09:00
Tristan Van Berkom
fb3e221559 Fixed GtkContainer buildable implementation to set packing properties explicitly set to "" (i.e. explicitly set to nothing). 2011-02-02 15:22:31 +09:00
Matthias Clasen
8a2a148649 Don't build pixbuf engine, still
This was accidentally re-enabled together with the wimp.
2011-02-02 01:00:51 -05:00
Matthias Clasen
54c97f3ba2 Fix another GtkFixed regression, in gtk_fixed_forall()
b3f6f67c changed the loop from while() to for() in gtk_fixed_forall(),
but that's wrong since the callback can have side-effects on the list,
in case the current child gets removed. And that's the case when the
widget is destroyed.

Patch by Vincent Untz
https://bugzilla.gnome.org/show_bug.cgi?id=641196
2011-02-02 00:40:02 -05:00
Matthias Clasen
0ade265a69 Bump version 2011-02-02 00:36:41 -05:00
John Ralls
cfaed624be Update quartz to reflect deletion of GdkNativeWindow and client_message functions. 2011-02-01 13:53:00 -08:00
Matthias Clasen
24de7cd86f Add another bug ref 2011-02-01 14:11:20 -05:00
Vincent Untz
62d7593fc2 Fix crash in gtk_fixed_remove()
b3f6f67c changed the loop from while() to for(), but the line to move to
the next child was kept, so we could go past the end of the list.

https://bugzilla.gnome.org/show_bug.cgi?id=641176
2011-02-01 20:08:52 +01:00
Matthias Clasen
1b25489cba Remove accidentally exported symbol 2011-02-01 13:54:27 -05:00
Matthias Clasen
b0d48f66a1 Updates for 2.99.3 2011-02-01 13:39:41 -05:00
Benjamin Otte
5f594b613e API: gdk: Get rid of GdkNativeWindow
Also get rid of the GDK_NATIVE_WINDOW_POINTER define.
2011-02-01 18:51:57 +01:00
Benjamin Otte
7b5ad65e71 x11: Use Window isntead of GdkNativeWindow 2011-02-01 18:51:57 +01:00
Benjamin Otte
44c02fcbb1 API: gdk: Change get_drag_window() API
The previous function gdk_drag_get_protocol_for_display() took native
window handles, so it had to be changed. Because it didn't do what it
was named to do (it didn't return a protocol even though it was named
get_protocol) and because it doesn't operate on the display anymore but
on the actual window, it's now called gdk_window_get_drag_protocol().
2011-02-01 18:51:57 +01:00
Benjamin Otte
9210347600 API: gdk: Make GDK_DRAG_PROTOCOL_NONE equal to 0
THis way, we can do comparisons like "if (protocol)"
2011-02-01 18:51:57 +01:00
Benjamin Otte
5bc04bc07b API: gdk: Make GdkEventSelection.requestor a GdkWindow
instead of a GdkNativeWindow. Also change gdk_selection_notify() API to
take a GdkWindow to match this change.
2011-02-01 18:51:57 +01:00
Benjamin Otte
c2a5d715d5 x11: Use gdk_x11_window_foreign_new_for_display() unconditionally
gdk_x11_window_lookup_window() calls are done by this function alreayd,
so no need to do them manually.
2011-02-01 18:51:57 +01:00
Matthias Clasen
5441ecd350 Fix a warning 2011-02-01 09:48:32 -05:00
Matthias Clasen
38045e789c Remove a dead member
The client_pointer field in GdkX11DeviceManagerXI2 is not used anywhere.
2011-02-01 09:44:33 -05:00
Matthias Clasen
c79413a1df Make xim work with XI2
We cannot totally ignore core key events, since XFilterEvent generates
those at times and relies on them having an effect.
https://bugzilla.gnome.org/show_bug.cgi?id=640965
2011-02-01 09:42:53 -05:00
Matthias Clasen
8448780a6c Make treeview expanders work reliably
It turns out that the gtk_grab_remove() can trigger a do_prelight()
call, which may end up changing prelight_node, and then the state
gets messed up. Moving the grab removal until after we're done with
button_pressed_node and prlight_node makes expanders work reliably.

One thing that is still not right is that the expander doesn't get
prelight again after the animation is done, if you manage to release
without any additional motion events.

https://bugzilla.gnome.org/show_bug.cgi?id=641039
2011-02-01 01:32:02 -05:00
Benjamin Otte
c332ac207a gdk: Remove GdkEventClient
... and all APIs making use of it.

That code like it hasn't been touched in years, Google codesearch
didn't find any users and most importantly it's a horrendous API, so
let's just make it die instead of having to port it over to
non-GdkNativeWindow usage, which would be required for multi-backend
GDK.

http://mail.gnome.org/archives/gtk-devel-list/2011-January/msg00049.html
2011-02-01 06:33:02 +01:00
Benjamin Otte
040b21e7d7 tests: Remove refreh button from testtoolbar test
It didn't work and did that by using APIs that are about to go away.
2011-02-01 06:33:02 +01:00
Benjamin Otte
cf94070586 testgtk: Remove ability to reload all rc files
That ability didn't work for a while anyway, so removing client messages
doesn't hurt.
2011-02-01 06:33:02 +01:00
Benjamin Otte
9e401bef68 tests: Remove clientmessage test
Client messages will not be handled by GDK3 anymore, so no need to test
them.
2011-02-01 06:33:02 +01:00
Benjamin Otte
8ecd420ede x11: Do dnd event handling via gdk_window_add_filter() 2011-02-01 06:33:02 +01:00
Benjamin Otte
180cd853fc x11: Use macros for byte order to set byte order
No need to run sophisticated functions to guess it.
2011-02-01 06:33:02 +01:00
Benjamin Otte
609ddee632 x11: Register wm_protocols function with gdk_window_add_filter()
The client message code is about to go away, so we need to use a
different way to get at ClientMessage output.
2011-02-01 06:33:01 +01:00
Benjamin Otte
e67347a3c8 x11: Fill in event->any.window before calling filter functions
a) We advertise it for GdkFilterFunc
b) It's necessary to differentiate between different event types with
   multi-backend GTK.
2011-02-01 06:33:01 +01:00
Benjamin Otte
d217f4d09e x11: Handle motif client message filter just like xdnd filters 2011-02-01 06:33:01 +01:00
Benjamin Otte
14cb485d22 x11: Use event->any.window instead of any random member 2011-02-01 06:33:01 +01:00
Benjamin Otte
fac914d70c API: gtk: Remove client_event vfunc from GtkWidget
Also remove the (de-facto unused) implementation from GtkWindow that was
only used for sockets/plugs.
2011-02-01 06:33:01 +01:00
Matthias Clasen
b52db73f59 Deal gracefully with unowned selections
If a selection looses its owner without a replacement, owner is
None, which we did not handle very well.

https://bugzilla.gnome.org/show_bug.cgi?id=641042
2011-01-31 19:35:51 -05:00
Dan Winship
fc43e42bf2 Fix several bugs handling GtkTrayIcon symbolic colors
https://bugzilla.gnome.org/show_bug.cgi?id=641059
2011-01-31 19:13:29 -05:00
Matthias Clasen
6d218084c3 Clarify models vs callbacks in entry completion docs
See https://bugzilla.gnome.org/show_bug.cgi?id=641073
2011-01-31 19:01:16 -05:00
Kristian Rietveld
9dcdca2501 Don't use GTK_IS_PLUG for non-X11 backends 2011-02-01 00:26:04 +01:00
Kristian Rietveld
73afbc954a Check whether mask is NULL 2011-01-31 23:54:38 +01:00
Kristian Rietveld
119d29dcb9 Only include gtktrayicon.h when building for X11
GtkTrayIcon depends on GtkPlug which is X11-specific.  This fixes the
build for Quartz.
2011-01-31 23:54:38 +01:00
Matthias Clasen
726b0d8736 Bandaid fix for icon view subclassing
I've decided that it is isn't feasible to make cell areas runtime-settable
in the time we have left before 3.0, therefore, I'm going with the
approach to allow init() functions to instantiate the default cell area
and issue a warning if a construct property is ignored.

This is not ideal, but it keeps existing icon view and combo box
subclasses working.

https://bugzilla.gnome.org/show_bug.cgi?id=639139
2011-01-31 17:39:42 -05:00
Stefan Kost
1f3a5a8d92 Clarify key-{press,release}-event docs.
Mention key-repeat in key-press and fix a copy'n'paste in key-release docs.
2011-01-31 23:10:10 +02:00
Tristan Van Berkom
a37976dae0 Fixed GtkToolPalette ->forall implementation to be gtk_widget_destroy friendly
The forall() loop was buggy as it was skipping items in the list when
the current item gets removed from the groups array as a result of
calling the callback (causing memory leaks).
2011-02-01 05:02:56 +09:00
Tristan Van Berkom
ddb4b3ebe2 Added "shift" modifier versions of keybings for GtkFileChooser "folder-up"/"folder-down" bindings.
Also updated documentation, closes bug 322926
2011-02-01 05:02:56 +09:00
Daniel Mustieles
c01c018fde Updated Spanish translation 2011-01-31 19:33:55 +01:00
Matthias Clasen
30958ea8ad Fix a segfault in gtk_statusbar_remove_all
https://bugzilla.gnome.org/show_bug.cgi?id=640487
2011-01-31 11:50:23 -05:00
Emmanuele Bassi
d51c617e13 css-provider: Fix up the Switch style
As it was with the old style, when the Switch is in the "on" state the
trough should be using the selected background color.
2011-01-31 16:21:36 +00:00
Matthias Clasen
cb498c2101 Speed up expander animation
Go back to 200ms, which is what we had in GTK+ 2.x.
Themes can change this, of course.
2011-01-31 10:51:09 -05:00
Matthias Clasen
38f6065b2b Make GtkEntryCompletion::match-selected arguments consistent
For keynav, we were still passing it the filter model.
https://bugzilla.gnome.org/show_bug.cgi?id=640698
2011-01-31 10:48:40 -05:00
Matthias Clasen
fb860a9527 Add a note to ::fill and ::expand docs 2011-01-31 10:26:28 -05:00
Matthias Clasen
a26ffdc740 Prevent a segfault in GtkPlug
The grabbed_keys might be NULL, so deal with that.
https://bugzilla.gnome.org/show_bug.cgi?id=641023
2011-01-31 10:17:21 -05:00
Matthias Clasen
0208539c4b Remove RC file references from docs where appropriate 2011-01-31 09:34:46 -05:00
Matthias Clasen
677c8c2189 Remove references to RC files in the env var docs 2011-01-31 09:29:40 -05:00
Matthias Clasen
6a8d494ba1 Fix GTK_SPINNER_CLASS macro
https://bugzilla.gnome.org/show_bug.cgi?id=640999
2011-01-31 07:39:06 -05:00
Matthias Clasen
09a52de478 Add a missing id to the docs 2011-01-31 07:39:06 -05:00
Baurzhan Muftakhidinov
430f53bb52 Updated Kazakh translation 2011-01-31 16:22:38 +06:00
Benjamin Otte
9864445b1f API: gdk: Change GdkEventOwnerChange to not take GdkNativeWindow
Use GdkWindow instead. This requires calling
gdk_x11_window_foreign_new_for_display(), so might cause a slight
performance penalty, but is required to be portable.
2011-01-31 07:17:31 +01:00
Matthias Clasen
cfa6505504 Mention key themes in the migration guide 2011-01-30 23:53:19 -05:00
Matthias Clasen
175c57ebd7 Small optimization
We can use the fact that all involved strings are interned; also
deprecate gtk_binding_set_add_path() in the headers, too.
2011-01-30 23:35:25 -05:00
Matthias Clasen
f67ab808fd doc fixes 2011-01-30 23:35:25 -05:00
Matthias Clasen
b448bb81ce Move GtkBindings docs inline 2011-01-30 23:00:12 -05:00
Matthias Clasen
dcf3430e17 Add a gtkbindingsprivate.h header 2011-01-30 21:50:54 -05:00
Matthias Clasen
8bb0d552f1 Improve binding-set parser
Make gtk_binding_entry_add_signal_from_string() return the expected
token in case of parsing error, so that we can return a GError
instead of spewing. Also, add a separate scope for binding-set,
since allowing {} in identifiers in SCOPE_VALUE breaks the fact
that the ; after the last assignment in a rule is optional.
2011-01-30 21:27:56 -05:00
Matthias Clasen
a04e721473 Add binding-set tests 2011-01-30 21:27:55 -05:00
Matthias Clasen
2ea010bca0 Convert remaining rc files to css 2011-01-30 21:27:55 -05:00
Matthias Clasen
f16dbe0db3 Convert the mac key theme to css 2011-01-30 21:27:55 -05:00
Matthias Clasen
c770f441ca Convert the Emacs key theme to css 2011-01-30 21:27:55 -05:00
Matthias Clasen
bf9e59e392 Make documentation match behaviour 2011-01-30 21:27:55 -05:00
Carlos Garnacho
c0b8053089 Move key/theme CSS providers to GtkSettingsPrivate 2011-01-30 21:27:55 -05:00
Carlos Garnacho
a03e33b10b Parse the gtk-keys.css file in the GtkSettings::gtk-key-theme-name theme path 2011-01-30 21:25:42 -05:00
Carlos Garnacho
081d5b14da Add some bindings to testgtk.css for testing 2011-01-30 21:24:52 -05:00
Carlos Garnacho
c70b65f0eb Document @binding-set and the gtk-key-bindings css parser property 2011-01-30 21:24:52 -05:00
Carlos Garnacho
b5bee0a827 Remove unneeded code from GtkBindingSet 2011-01-30 21:24:52 -05:00
Carlos Garnacho
9a3466832c Hook up key bindings in CSS with key propagation.
This is done in the same place than it was done before the switch
to GtkStyleContext, the GtkBindingEntry has been slightly simplified
since it's now the GtkStyleContext which hands us the list
of binding sets applying to a widget, so no need to use the older
matching mechanisms.
2011-01-30 21:24:52 -05:00
Carlos Garnacho
d39f0411be Add the gtk-key-bindings CSS parser property.
This property takes a list of binding set names to have these
stored as a GPtrArray containing GtkBindingSets. this property
is handled so merging GtkStyleProperties will merge both
GtkBindingSet lists.
2011-01-30 21:24:51 -05:00
Carlos Garnacho
dbff92fd9f Add @binding-set rules to the CSS parser
these custom rules can be used to define key themes
as in the RC files, a series of bind/unbind rules
may be added then:

@binding foo-bar {
  bind "<alt>1" { "move-cursor" (visual-positions, 1, 0) };
  unbind "<ctl>d"
}
2011-01-30 21:24:51 -05:00
Carlos Garnacho
53ca6eb0b5 Add gtk_binding_entry_add_signal_from_string()
This function rescues part of the old parser (which
is now standalone) to load a bind/unbind definition
string into a GtkBindingSet.
2011-01-30 21:24:51 -05:00
Bastien Nocera
b98caf9385 GtkCssProvider: Take into account variant
When loading a theme, make sure we take into account the variant
so we don't use the plain version when the theme changes.

Also make sure to fallback to the plain theme when loading a variant
fails.

https://bugzilla.gnome.org/show_bug.cgi?id=640983
2011-01-30 21:22:12 -05:00
Bastien Nocera
7f3aa92086 GtkSettings: Fix theme not updating for dark theme
The theme was not updated when the "gtk-application-prefer-dark-theme"
GtkSettings property changed.

https://bugzilla.gnome.org/show_bug.cgi?id=640983
2011-01-30 20:48:29 -05:00
Jakob Kramer
c4cafd67c3 [l10n] Updated German translation 2011-01-30 20:49:34 +01:00
David Planella
23ac7efe03 Updated Catalan translation 2011-01-30 11:27:40 +01:00
Matthias Clasen
ec37512f64 Add a gtkscaleprivate.h header 2011-01-30 03:17:05 -05:00
Matthias Clasen
4a0aa41742 Add gtkorientableprivate.h header 2011-01-30 03:12:49 -05:00
Matthias Clasen
d463bbfdcd Some updates 2011-01-30 02:57:59 -05:00
Matthias Clasen
d4b218131d Drop 2.x release notes 2011-01-30 02:52:55 -05:00
Matthias Clasen
4b5b1ab43a Fix build
We must build gtk before gtk/tests
2011-01-30 02:49:31 -05:00
Matthias Clasen
b71134fc77 Drop unused theme-bits 2011-01-30 02:47:27 -05:00
Matthias Clasen
572441f94f Drop unused file circles.xml 2011-01-30 02:45:01 -05:00
Matthias Clasen
6c3ce36f63 Remove GTK+ 1 era xbm icons 2011-01-30 02:43:38 -05:00
Matthias Clasen
bcdfd15893 Remove some dead templates 2011-01-30 02:38:59 -05:00
Matthias Clasen
242c2a389d Whitespace fixes 2011-01-30 02:36:17 -05:00
Matthias Clasen
837c504a11 Move GtkPrintOperation docs inline 2011-01-30 02:34:59 -05:00
Matthias Clasen
701075b2c8 Nicer configure summary 2011-01-30 02:21:16 -05:00
Matthias Clasen
645650ae24 Silence unused variable warnings in the cups printbackend 2011-01-30 02:16:18 -05:00
Matthias Clasen
2ba878ca1b Silence unused variable warnings in gail 2011-01-30 02:14:08 -05:00
Matthias Clasen
cb6e036d67 More compiler warnings silenced 2011-01-30 01:59:12 -05:00
Matthias Clasen
2b631739c0 Fix another compiler warning about unused variables 2011-01-30 01:53:49 -05:00
Matthias Clasen
6dc142a50a Silence more compiler warnings 2011-01-30 01:52:55 -05:00
Matthias Clasen
5caa76c5df Fix compiler warnings about unused variables 2011-01-30 01:50:58 -05:00
Matthias Clasen
0c2e16f04b Include gtkx.h here
When building under X11, gtktypefuncs.c includes references to gdk
X11 backend functions, so we need to include the header.
2011-01-30 01:45:18 -05:00
Matthias Clasen
61f8dbc245 Silence compiler warnings 2011-01-30 01:40:51 -05:00
Matthias Clasen
b1be543ba5 Use free() to free XIButtonState.mask
XIQueryPointer() allocates it using malloc() (without any mention
in the documentation...).
2011-01-29 23:27:36 -05:00
Matthias Clasen
10b6afa1f5 Improve some deprecation notes 2011-01-29 23:09:51 -05:00
Matthias Clasen
cbc4e82314 Mention theme-specific settings in the migration guide 2011-01-29 22:59:32 -05:00
Matthias Clasen
02d952ca6d More documentation tweaks 2011-01-29 22:52:02 -05:00
Matthias Clasen
f6cd9c1553 Documentation tweaks 2011-01-29 22:47:33 -05:00
Matthias Clasen
bc58a60a0b Minor rewording in the tutorial 2011-01-29 22:44:29 -05:00
Matthias Clasen
d39f98fff4 Go back to using the image/* example 2011-01-29 22:42:14 -05:00
Paolo Borelli
350d0b54e3 Do not use old functions in the docs. 2011-01-29 21:32:56 +01:00
Matthias Clasen
f783a75d61 Add a gtkx.h header for X11-specific GTK+ api
This keeps us from pulling gdkx.h into gtk.h

https://bugzilla.gnome.org/show_bug.cgi?id=640902
2011-01-29 14:16:47 -05:00
Matthias Clasen
1641e71c9a Add a missing end tag 2011-01-29 13:40:19 -05:00
Luca Ferretti
66d4f07f29 Updated Italian translation 2011-01-29 15:55:20 +01:00
Carlos Garnacho
8a056d4774 Move "widget/window under device" accounting to be per-widget
This management is better done per-widget rather than per-screen,
as windows being destroyed won't trigger a leave notify for the
devices on top of it, and this information is too transitive
to keep weak refs and such.

This fixes the critical warning seen in gtk/tests/testing.
2011-01-29 14:45:05 +01:00
Paolo Borelli
55713025c0 Add padding to the themingengine class. 2011-01-29 14:34:29 +01:00
Paolo Borelli
001697a22a Move the get_cursor_color in GtkStyleContext
Move the private get_cursor_color method belongs to StyleContext. Change
the api so that retrieving both primary and secondary color is possible.
I left the method private for now, though it should probably be public
as all the other getters.
2011-01-29 13:13:42 +01:00
Paolo Borelli
9e20341775 Use GtkRGBA for the cursor color priv api. 2011-01-29 12:38:50 +01:00
Paolo Borelli
469f4592d4 Fix typo in calculating secondary cursor color 2011-01-29 12:24:37 +01:00
A S Alam
3f918a8b2d update Punjabi Translation by A S Alam 2011-01-29 07:56:20 +05:30
A S Alam
861dd0886c update Punjabi Translation by A S Alam 2011-01-29 07:33:39 +05:30
William Jon McCann
32f6070bc8 Don't call object notify for something that isn't a property 2011-01-28 17:00:59 -05:00
Krzesimir Nowak
d688343a31 Check if buffer is NULL after setting it to NULL, not before.
This catches cases when "notify::buffer" handler does not recreate
the buffer again, which could end in reference leak.

https://bugzilla.gnome.org/show_bug.cgi?id=634677
2011-01-28 20:49:47 +01:00
Daniel Mustieles
0e37b3e2b1 Updated Spanish translation 2011-01-28 20:04:18 +01:00
Matthias Clasen
d981b9ed61 Fix a doc typo 2011-01-28 11:10:07 -05:00
Matthias Clasen
6bbe86a763 Mention GtkEntryCompletion signal parameter change 2011-01-28 11:10:07 -05:00
Benjamin Otte
83927a61fc recentfilter: Fix gcc warnings
gtkrecentfilter.c:37:47: error: "/*" within comment
gtkrecentfilter.c:61:24: error: "/*" within comment
2011-01-28 17:06:07 +01:00
Benjamin Otte
ce33daaff6 gtk: gtkfilefilter.c:57:24: error: "/*" within comment 2011-01-28 17:06:07 +01:00
Benjamin Otte
ef1606604c x11: Use Window instead of GdkNativeWindow 2011-01-28 17:06:07 +01:00
Benjamin Otte
56c6c63cce plug: Move private functions to gtksocketprivate.h 2011-01-28 17:06:07 +01:00
Benjamin Otte
388f9fd181 tests: Use Window instead of GdkNativeWindow in testsocket example 2011-01-28 17:06:07 +01:00
Benjamin Otte
4aa67439f3 plug: Use Window instead of GdkNativeWindow 2011-01-28 17:06:07 +01:00
Benjamin Otte
ad1f9cc0c6 socket: Use Window instead of GdkNativeWindow 2011-01-28 17:06:07 +01:00
Benjamin Otte
1b18916a74 win32: Make GtkWin32EmbedWidget use HWND instead of GdkNativeWindow 2011-01-28 17:06:07 +01:00
Benjamin Otte
63aa56bcc4 window: Get rid of GdkNativeWindow usage
Make _gtk_window_add_embedded_xid() and
_gtk_window_remove_embedded_xid() take a Window.
2011-01-28 17:06:07 +01:00
Benjamin Otte
bd4ef49af9 API: x11: Add GDK_POINTER_TO_XID() and GDK_XID_TO_POINTER()
Previously people used GDK_GPOINTER_TO_NATIVE_WINDOW() for this, but
native windows are going away, so we need a replacement.
2011-01-28 17:06:07 +01:00
Benjamin Otte
e1f6a24da9 window: Make embedded xid specific to the X11 backend 2011-01-28 17:06:07 +01:00
Benjamin Otte
5a1755bc50 gtk: Prefix gtk_window_add_embedded_xid() with underscore
It's a private API after all.
Same thing for gtk_window_remove_embedded_xid().
2011-01-28 17:06:07 +01:00
Benjamin Otte
e339c6276d API: Don't export gtk_window_add_embedded_xid()
Same thing for gtk_window_remove_embedded_xid()
2011-01-28 17:06:07 +01:00
Benjamin Otte
b8895cf910 socket: Merge gtksocket-x11.c back into gtksocket.c 2011-01-28 17:06:07 +01:00
Benjamin Otte
1d80400478 plug: Merge gtkplug-x11.c back into gtkplug.c 2011-01-28 17:06:07 +01:00
Benjamin Otte
c7f0cffd8a plug/socket: Remove x11 checks and non-x11 code 2011-01-28 17:06:06 +01:00
Benjamin Otte
50e1589a19 plug/socket: Clarify docs about availablility of widgets 2011-01-28 17:06:06 +01:00
Benjamin Otte
89722d41c4 win32: Fix Makefile for plug/socket removal. 2011-01-28 17:06:06 +01:00
Benjamin Otte
8dc932bbe0 plug/socket: Remove plug/socket backend implementations for win32 and stub 2011-01-28 17:06:06 +01:00
Benjamin Otte
3860af516c plug/socket: Make GtkPlug and GtkSocket X11-specific
People agreed that it doesn't make sense to make an xembed
implementation like plug/socket does not make sense on anything but X11.
And as GdkNativeWindow is going away for multibackend portability
reasons, we'd either need API fixes in the plug-socket codee or
constrain the widgets to a single backend. We chose the latter.
2011-01-28 17:06:06 +01:00
Cosimo Cecchi
d254089308 mount-operation: don't show the dialog until the tree is populated
Otherwise it won't show up properly, and GTK+ will trigger a warning.
Don't know why this did not show up before.

https://bugzilla.gnome.org/show_bug.cgi?id=640744
2011-01-28 09:59:58 -05:00
Ignacio Casal Quinteiro
b7de18ab35 Remove gtk_paste_point_override mark if we don't insert any text.
This patch fixes bug #590459.
2011-01-28 13:26:00 +01:00
Murray Cumming
1cd82eff4b Move gtk_widget_reset_style() out of the deprecation ifdef.
This new function was not apparently meant to be inside the deprecation
guards.
2011-01-28 10:17:06 +01:00
Murray Cumming
3efc06a659 Tiny typo fix. 2011-01-28 10:10:23 +01:00
Tristan Van Berkom
5a5854f6f6 Add default class implementation of gtk_widget_get_request_mode().
Instead of checking if klass->get_request_mode is != NULL from
the gtk_widget_get_request_mode() api, this allows classes to
trust that there is a default implementation and chain up (specifically
added this for gtkmm wrapper objects).
2011-01-28 15:58:07 +09:00
Matthias Clasen
ea6e57412f Protect against giant title fonts
We don't want repeated calls to set_title_font to blow up the
font size ever more, so reset the font each time.

https://bugzilla.gnome.org/show_bug.cgi?id=640712
2011-01-27 23:23:43 -05:00
Matthias Clasen
ef7433e7f1 Make the places in the file chooser come up with a reasonable size 2011-01-27 21:50:00 -05:00
Matthias Clasen
b5c09b9e39 Fix the new filechooser buttons to work without symbolic icons 2011-01-27 21:04:32 -05:00
William Jon McCann
b64c6f2fd3 Use a toolbar with symbolic icons under scrolled lists 2011-01-27 20:24:57 -05:00
Daniel Mustieles
95ad67d927 Updated Spanish translation 2011-01-27 21:22:30 +01:00
Carlos Garnacho
ea7fd526f9 Remove GTK_RBNODE_IS_SEMI_[COLLAPSED|EXPANDED] flags.
These aren't used anymore.
2011-01-27 20:57:14 +01:00
Carlos Garnacho
3d57787d6e Set "cell" class and state before rendering a cellrenderer. 2011-01-27 20:57:13 +01:00
Carlos Garnacho
e3a77b9db8 Make GtkCellRendererAccel use GtkStyleContext 2011-01-27 20:57:13 +01:00
Carlos Garnacho
c59a05b0d4 Make GtkCellRendererPixbuf use GtkStyleContext 2011-01-27 20:57:13 +01:00
Carlos Garnacho
3285eff289 Make GtkCellRendererProgress use GtkStyleContext 2011-01-27 20:57:12 +01:00
Carlos Garnacho
9b091ae330 Make GtkCellRendererToggle use GtkStyleContext 2011-01-27 20:57:12 +01:00
Carlos Garnacho
7c2f35d7c1 Make GtkCellRendererText use GtkStyleContext 2011-01-27 20:57:12 +01:00
Carlos Garnacho
3efc1b0b4f Make GtkIconView use GtkStyleContext 2011-01-27 20:57:11 +01:00
Carlos Garnacho
08af1783c5 Make GtkTreeView use GtkStyleContext
Expander animation has been replaced by implicit animations
from the style context.

Column headers are also properly themed, GtkContainer::get_path_for_child()
is implemented and the treeview resets column buttons style on columns
being reordered.

The default CSS has changed to theme treeviews sensibly.
2011-01-27 20:57:11 +01:00
Carlos Garnacho
41d6837fa2 Make GtkCellArea use GtkStyleContext
gtk_cell_area_[gs]et_style_detail() is no longer needed, as
the passed widget's context would already have all necessary
info.
2011-01-27 19:32:07 +01:00
Carlos Garnacho
f96aae68f4 Add gtk_cell_renderer_get_state()
This is a helper function to help retrieve a GtkStateFlags
from a GtkCellRendererState, also given the cell renderer
and widget sensitivities.
2011-01-27 19:32:07 +01:00
Colin Walters
22527e802c Clarify documentation header about GTK+ 3 vs 2
I think it's confusing for a lot the developers out there who
may not even be aware of GTK+ 3 coming, if suddenly GTK+ 3 becomes
the "stable" version of "gtk" on library.gnome.org.  It may
not even be feasible for them to port to GTK+3 if it's not
shipped in the operating systems they're targeting (for example,
RHEL 6).

Since practically speaking, we expect people to consume GTK+ 2 for
several years at least, redirect these people to the right pages.

(I didn't attempt to explain the differences between the libraries
 here, but hopefully the major version difference is enough of a hint)

As a side effect, this makes the generated HTML look better; previously
it looked rather crappy, since the "for GTK &version;" was totally
offset and in a different group from the documentation title.
2011-01-27 11:32:55 -05:00
Tristan Van Berkom
031a092254 Added <mime-types> and <patterns> parsing support to GtkFileFilter. 2011-01-27 22:53:24 +09:00
Kjartan Maraas
9bd53091c0 Updated Norwegian bokmål translation. 2011-01-27 11:25:19 +01:00
Tristan Van Berkom
2944af00d0 Removed a useless redundant line of code in gtkcellview.c 2011-01-27 16:04:46 +09:00
Tristan Van Berkom
35e7e65bcb Added links to the GtkTextTagTable and GtkMenuToolButton GtkBuildable documentation from GtkBuilder documentation. 2011-01-27 16:04:46 +09:00
Matthias Clasen
008de2bafd Document new default handling 2011-01-27 00:32:07 -05:00
Matthias Clasen
064e48f846 Rename GTK_SETTINGS_SOURCE_RC_FILE to _THEME
This makes more sense, since we don't parse rc files anymore.
This is private api inside gtksettings.c, anyway.
2011-01-27 00:32:07 -05:00
Matthias Clasen
5501569354 Parse a per-theme settings.ini file
This lets themes override settings values again. We are using
the same priority that was used from the rc file parser, so things
are largely unchanged, relative to other settings sources.
2011-01-27 00:32:07 -05:00
Matthias Clasen
ea24fa62c8 Privately export css_provider_get_theme_dir 2011-01-27 00:32:07 -05:00
Matthias Clasen
368a5c8937 Break out into a separate function
Move key file parsing to gtk_settings_load_from_key_file(), in
preparation for loading per-theme files. Load key files from both
/etc and ~/.config, with the latter overriding the former. Support
parsing enum values.
2011-01-27 00:32:07 -05:00
Matthias Clasen
8f3a3fda0b First pass a parsing a keyfile for default settings 2011-01-27 00:32:07 -05:00
Fran Diéguez
0ba6c63e2d QA of Galician translations 2011-01-27 03:26:35 +01:00
Matthias Clasen
96af68529b Document that gtk_widget_queue_draw_area is in widget coordinates 2011-01-26 18:20:51 -05:00
Daniel Mustieles
3cdd865bb8 Updated Spanish translation 2011-01-26 20:48:29 +01:00
Khaled Hosny
64301167fe Updated Arabic translation 2011-01-26 17:55:45 +02:00
Tristan Van Berkom
93f825592e Added links to the GtkComboBox/GtkRecentFilter GtkBuildable documentation from GtkBuilder documentation. 2011-01-26 23:58:47 +09:00
Tristan Van Berkom
e7354bd3f3 Fixed GtkCellLayout to parse <cell-packing> property text accumulatively. 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
5ebc6f4df2 Fixed GtkContainer to parse <packing> property text accumulatively. 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
9487ce77c4 Changed GtkComboBoxText <items> builder parser to use g_string_append_len(). 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
2081ade640 Changed GtkRecentFilter builder parsing to use g_string_append_len 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
26b326b704 Fix GtkRecentFilter GtkBuildable parsing to handle incomming text accumulatively 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
e8157126d8 Fix GtkComboBoxText GtkBuildable <items> parsing to handle incomming text accumulatively 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
8397a79b7d Added a line to the documentation example of GtkRecentFilter 2011-01-26 23:55:01 +09:00
Tristan Van Berkom
a6a7b7e9cf Added GtkBuildable support for adding rules to GtkRecentFilter
Also added documentation section for this. Since the GtkRecentFilter
documentation was still living in sgml, as a side-effect I migrated these
docs to the gtkrecentfilter.[ch] sources.
2011-01-26 23:55:01 +09:00
Martin Pitt
d7b71be49b [GI] Fix gtk_tree_view_get_cursor() transfer annotation 2011-01-26 14:39:50 +01:00
Christian Dywan
205ee834ec State that _add_button functions return a "#GtkButton widget"
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=586635
2011-01-26 10:33:49 +01:00
Michael Natterer
3933f99ed7 gtk: add missing class padding
Sorry for this late ABI break, but the newly added style classes
definitely need padding, so I can just as well add missing padding
globally.
2011-01-25 22:29:00 +01:00
Carlos Garnacho
e521158973 Make gtk_widget_get_state() only handle GtkStateType values available in 2.x
GtkStateType was generally used as an index in GtkStyle color arrays, so
bigger values will cause invalid memory accesses in widgets that are still
doing that. this was seen in focused GtkIconViews for example
2011-01-25 13:36:13 +01:00
Chao-Hsiung Liao
42b6e47fca Updated Traditional Chinese translation (Hong Kong and Taiwan) 2011-01-25 19:23:35 +08:00
Matthias Clasen
7db4bee4b6 Clarify documentation about application vs window lifecycle
https://bugzilla.gnome.org/show_bug.cgi?id=639931
2011-01-24 22:20:35 -05:00
Matthias Clasen
9be8bbc9a0 Add gtk_app_chooser_button_get/set_heading 2011-01-24 19:25:08 -05:00
Carlos Garnacho
8fdd8dbc35 Do not modify associated device for non-master devices on dispose
Only master devices must modify the associated device to separate
a pointer/keyboard pair, slave devices must only call
_gdk_device_remove_slave().

Fixes bug 639767 - password not accepted in gnome-screensaver dialog,
reported by Frederic Crozat. On VT-switch, the X server removes its
grab on HW devices, the effect on clients is that slave devices
disappear, and these were mistakenly mangling the master device
hierarchy. so gdk_device_get_associated_device() on the client
pointer wouldn't return the paired keyboard anymore.

The final effect is that gtkplug-x11 wasn't setting a keyboard to
its generated events.
2011-01-24 19:55:41 +01:00
Carlos Garnacho
e3be6fc24f Unset border-width for treeview rows in default CSS
Fixes bug #640391 - Display lines between rows when window is focused.
Reported by Guillaume Desmottes.
2011-01-24 18:14:05 +01:00
Matthias Clasen
98346cc219 Avoid passing widgets around here
The style context is enough.
2011-01-24 07:46:15 -05:00
Matthias Clasen
b42b47e7d3 Port gtk_draw_insertion_cursor to GtkStyleContext 2011-01-24 00:24:12 -05:00
Matthias Clasen
6619aa58b1 Kill one more unused variable 2011-01-23 23:48:32 -05:00
Matthias Clasen
3413438d37 Don't leak CursorInfo structs 2011-01-23 23:20:57 -05:00
Matthias Clasen
d9fcc4c630 Silence new gcc warnings
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 21:51:38 -05:00
Carlos Garnacho
94c4a312c1 Add extra checks for GdkDevice functions that might fail on slave devices.
Documentation bits have been added as well.
2011-01-24 02:54:38 +01:00
Carlos Garnacho
5fd5872b37 Avoid toplevel tracking on slave device after ungrab
slave devices don't have coordinates themselves, as they depend
on a master, this only changes if they have a grab in effect,
so only keep toplevel tracking enabled in such situation. Fixes
Bug #640313 - BadDevice X error when ungrabbing a SLAVE device,
noticed by Jesse van den Kieboom.
2011-01-24 02:54:00 +01:00
Matthias Clasen
454c36523a Silence new gcc warnings
gcc 4.6.0 has started to warn about set-but-unused variables.
So don't do that, then.
2011-01-23 18:50:09 -05:00
Matthias Clasen
a12dad75a2 Split out private style context api into a private header 2011-01-23 18:29:28 -05:00
Carlos Garnacho
0cc2f93d5c Free button_state.mask after XIQueryPointer()
This function allocates the button mask, so free it after
use, or right before the next XIQueryPointer() call, as done
in gdk_x11_device_xi2_window_at_position().
2011-01-23 23:19:30 +01:00
Carlos Garnacho
b2b73a349e Fix valgrind warning about uninitialized value
mods_state->effective is not being set in XIQueryPointer() currently, so
use base|latched|locked instead, effective is nothing else than a shorthand
for these ORs, and these 3 values are set correctly anytime.
2011-01-23 23:14:53 +01:00
Benjamin Otte
51290e0a57 gdk: When reffing the impl surface, ref it from the impl window
This was causing surfaces to be created with the wrong size and that
caused broken clipping.

https://bugzilla.gnome.org/show_bug.cgi?id=640195
2011-01-23 21:41:01 +01:00
Carlos Garnacho
e3774b6ff2 Render check/radio buttons with border-color: @fg_color 2011-01-23 20:01:22 +01:00
Carlos Garnacho
13a3954ad4 GtkNotebook: only set/unset active flag on the tab label 2011-01-23 19:35:21 +01:00
Carlos Garnacho
b3ba85a01c Simplify GTK_STATE_FLAG_FOCUSED handling in state propagation.
Just unsetting it before propagating to the children suffices.
2011-01-23 19:34:50 +01:00
Carlos Garnacho
0c7772f0cf Do not unset sensitivity mistakenly in gtk_widget_set_state_flags()
together with commit 8903615a34, this finally fixes bug #640282.
Insensitivity is handled separatedly in _gtk_widget_update_state_flags(),
but the insensitive flag is mistakenly unset afterwards if clear is TRUE
in gtk_widget_set_state_flags().
2011-01-23 19:34:44 +01:00
Carlos Garnacho
a0e1fa9e77 Gtk(Toggle)Button: preserve untouched state flags when updating state.
Partly fixes bug #640282, noticed by Christian Persch. buttons were
clobbering the insensitive flag when updating their state.
2011-01-23 19:34:38 +01:00
Matthias Clasen
74f7e08811 Add a migration guide section about GdkDrawable
https://bugzilla.gnome.org/show_bug.cgi?id=640188
2011-01-23 12:27:18 -05:00
Chun-wei Fan
09244b7f1d Update Visual C++ 2008 Project Files Stuff
-Updated README.txt file in build/win32/vs9.
-Fix the gdk.vcprojin and gtk+.vsprops regarding include paths
 and copying of headers (missed header etc.)
2011-01-24 00:10:19 +08:00
Jorge González
f68faa3465 Updated Spanish translation 2011-01-23 15:10:51 +01:00
Kristjan SCHMIDT
73bfc16aa2 Updated Esperanto translation 2011-01-23 13:48:41 +01:00
Kjartan Maraas
db25eda122 Updated Norwegian bokmål translation 2011-01-23 11:41:44 +01:00
Aron Xu
644cc23fe0 Update Chinese (China) GTK+ po translation. 2011-01-23 08:37:09 +00:00
Matthias Clasen
eab3d94a43 Expose gtk-auto-mnemonics as an Xsetting 2011-01-22 23:48:39 -05:00
Matthias Clasen
9d34a9cc65 checksettings: succeed quietly 2011-01-22 23:47:01 -05:00
Matthias Clasen
09bf05bd57 Fix alignment problems with text cell renderers
When set to PANGO_ALIGN_CENTER, text was rendered off-center
by the amount of 'free space' that the PangoLayout left (ie
the x returned by pango_layout_get_pixel_extents).
2011-01-22 23:23:46 -05:00
Yaron Shahrabani
936f74c762 Updated Hebrew translation. 2011-01-23 02:40:52 +02:00
Jorge González
f60db29f82 Updated Spanish translation 2011-01-22 16:51:03 +01:00
Ivar Smolin
81fdf6619c [l10n] Updated Estonian translation 2011-01-22 11:53:00 +02:00
Federico Mena Quintero
a4a2d76182 bgo#639531 - [filechooser] Handle the case where the user types a nonexistent_subfolder/file.txt
The logic was to try to switch to that nonexistent folder and thus get
an error message presented.  However, no such message actually appears,
as the file chooser tries to switch to the closest parent folder that
actually exists, without bringing up an error message --- this is done
to cope with the case of the file chooser being started with a folder
that doesn't exist anymore.

Now, we just bring up an error message directly when we detect that
the user types a subfolder name that doesn't exist.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-01-21 17:08:10 -06:00
Federico Mena Quintero
84bf984f85 bgo#640161 - Maintain map/unmap invariants in GtkFileChooserDialog
We used to explicitly map and unmap the child GtkFileChooserWidget when
mapping and unmapping the dialog, respectively.  Now that GtkWidget actually
unmaps child widgets (instead of avoiding that), we can assume that the
child GtkFileChooserWidget will be unmapped when we wanted it to be.

This fixes a warning that happened with the new GtkWidget invariant checker,
as we were mapping our child widget before calling our parent class' ::map() handler.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-01-21 15:48:39 -06:00
Federico Mena Quintero
d07231cb7a bgo#626336 - Don't assume that GtkButton is activated only when a keyboard event is available
Buttons may also be activated at any time from gtk_widget_activate()
or related functions.  In that case, just do the 'show the button
as pushed for a short amount of time' trick, but don't actually
try to grab the keyboard device.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-01-21 15:48:39 -06:00
William Jon McCann
120e289f56 Use actual app name in app choosers
Instead of using a strange composite of name and generic name.

https://bugzilla.gnome.org/show_bug.cgi?id=640005
2011-01-21 15:35:52 -05:00
Tomeu Vizoso
e2d42f3c4b [gi] Return value of gdk_window_new should have transfer full 2011-01-21 17:34:18 +01:00
Michael Natterer
5d3106275a gtk: no need to add GTK_STYLE_FLAG_FOCUSED to the widget's state flags
because they correctly contain that flag now if the widget has focus.
2011-01-21 15:38:52 +01:00
Carlos Garnacho
6e553324f9 Make gtk_widget_get_state_flags() avoid propagating the focused flag down the hierarchy
There is only one widget supposed to have the focused flag at a given time,
so avoid propagating the state down the hierarchy, the focused flag is now
also set in _gtk_widget_set_has_focus().
2011-01-21 15:25:29 +01:00
Michael Natterer
7fabfec533 gtk: save/restore the cairo_t around early upchaining in draw()
and don't save/restore the style context because that's the job of
each draw() implementation.
2011-01-21 15:06:43 +01:00
Michael Natterer
287a388415 gtk: remove unused "window" variable from gtk_entry_draw_frame() 2011-01-21 14:19:48 +01:00
Fridrich Štrba
a79f05c7be fix win32 build after removal of the colormap debug category 2011-01-21 11:20:16 +01:00
Sebastian Pölsterl
8effa1eb0e [gi] Added missing (allow-none) annotation to gdk_device_grab 2011-01-21 10:36:07 +01:00
Matthias Clasen
f941f7b123 Fix keynav issue in menu mode
Skipping insensitive and separator rows was broken in menu mode.
https://bugzilla.gnome.org/show_bug.cgi?id=639845
2011-01-20 23:40:14 -05:00
Benjamin Otte
d0ba16a3b2 assistant: Fix mapped invariants
gtk_widget_verify_invariants() was complaining, now it's silent.
2011-01-21 04:42:55 +01:00
Matthias Clasen
cfe909848d Avoid a warning if GtkCellView has no model 2011-01-20 22:35:09 -05:00
Matthias Clasen
46903a9100 Fix a crash during DND
https://bugzilla.gnome.org/show_bug.cgi?id=640105
2011-01-20 21:36:50 -05:00
William Jon McCann
6f4df09a04 When cancelling the app dialog return to the last item in combobox
https://bugzilla.gnome.org/show_bug.cgi?id=640011
2011-01-20 21:29:29 -05:00
Matthias Clasen
9532e96db4 Make GtkAppChooserButton work in modal context 2011-01-20 21:21:42 -05:00
Matthias Clasen
a7bcb8a4d7 Add a way to set the heading of GtkAppChooserDialog
The application can probably set a better string than the default
we construct, like 'Select an application for "software" files'.
2011-01-20 20:57:47 -05:00
Benjamin Otte
ec750bed0c gdk: Remove colormap debug category
We don't have colormaps anymore.
2011-01-21 02:54:09 +01:00
Benjamin Otte
7013406167 x11: Don't keep two lists of devices internally 2011-01-21 02:54:09 +01:00
Matthias Clasen
70879d345f Change the label of the GtkAppChooserDialog button
We are not "opening" an application, we are selecting it to
open a file. String change !
2011-01-20 19:59:55 -05:00
William Jon McCann
bbe56c1f9a Make the show more button follow the show-other property
Instead of show-all.

https://bugzilla.gnome.org/show_bug.cgi?id=640006
2011-01-20 19:45:22 -05:00
Matthias Clasen
5b7add024d Adapt gtk_icon_info_load_symbolic to librsvg limitations too
Pointed out by Owen Taylor.
2011-01-20 19:01:57 -05:00
William Jon McCann
f531787875 Don't reserve a column of space the for icons in app chooser button
In order to more consistently present the items regardless of
whether they have icons or not.
2011-01-20 15:48:00 -05:00
Johan Dahlin
56009e2226 Do not scan gtktextdisplay.h, avoids a scanner warning 2011-01-20 14:22:13 -02:00
William Jon McCann
deeac8caf3 Don't use an icon for Other Applications...
We only show icons in "menus" for nouns or dynamic objects.
2011-01-20 09:36:43 -05:00
Johan Dahlin
7ad7c61678 Mark api with xlib types as skipped
Since they'd need to have boxed type to be able to work
for introspection based bindings
2011-01-20 12:12:22 -02:00
Johan Dahlin
030b5ebf3e gtksettings: Add gtk-doc to silent an annotation warning 2011-01-20 12:12:22 -02:00
Johan Dahlin
766e1d35da Correct gtk-doc syntax and add missing (transfer) 2011-01-20 12:12:22 -02:00
Johan Dahlin
1e0327f844 Use identifier-prefix instead of deprecated strip-prefix 2011-01-20 12:12:22 -02:00
Johan Dahlin
b92df453c6 Remove property user_data which doesn't exist anymore 2011-01-20 12:12:22 -02:00
Pavel Holejsovsky
48ad65e1dd Bump required GObject-Introspection version to 0.10.1 2011-01-20 14:54:19 +01:00
Pavel Holejsovsky
374e76a19d [GI] Mark unintrospectable constructs as (skip)
Also adds 'Rename to:' annotation to some constructs replacing the
skipped ones.
2011-01-20 13:57:21 +01:00
Pavel Holejsovsky
2fb1c06402 [GI] Add missing (out) and (array) annotations 2011-01-20 13:57:20 +01:00
Pavel Holejsovsky
2f0d40335b [GI] Add missing (transfer) annotations 2011-01-20 13:57:18 +01:00
Pavel Holejsovsky
9b88eb356d [GI] Add missing (scope) annotations 2011-01-20 13:57:15 +01:00
Pavel Holejsovsky
3c8fc21e9b [GI] Fixes of existing incorrect annotations 2011-01-20 13:56:06 +01:00
Alexander Larsson
a3b227ff9e [broadway] Remove unused grab_count from GdkBroadwayDisplay
We don't need this anymore since server grabs is now an x-only feature
2011-01-20 13:40:41 +01:00
Alexander Larsson
cbc324d846 [broadway] Prefix internal functions with broadway 2011-01-20 13:40:34 +01:00
Alexander Larsson
2c0012b76b [broadway] Remove gdk_set_locale 2011-01-20 13:19:01 +01:00
Alexander Larsson
549610a8dd [broadway] Remove unused input window stuff 2011-01-20 13:18:15 +01:00
Alexander Larsson
60c2b80bf0 [broadway] Remove all leftover _gdk_windowing_ functions 2011-01-20 13:12:26 +01:00
Florian Müllner
497b66a5ab docs: Fix typo
s/gtk_builder_add_From_file/gtk_builder_add_from_file
2011-01-20 12:29:17 +01:00
Cosimo Cecchi
de6580b38d gail: fix the build 2011-01-20 12:00:27 +01:00
Steve Frécinaux
3f0d330a65 [GI] Fix transfer annotation on gtk_dialog_add_button()
The transfer annotation was (transfer full) but the caller actually
doesn't own a reference of the object. This made the pygobject test suite
crash because pygobject was trying to unref the returned GtkButton
instance.

https://bugzilla.gnome.org/show_bug.cgi?id=639949
2011-01-20 11:55:38 +01:00
Laszlo Pandy
75a05621bf [GI] Add annotation (type GdkModifierType) to state attributes in many GdkEvent structs.
The state attribute is available in GdkEventMotion, GdkEventButton,
GdkEventScroll, GdkEventKey and GdkEventCrossing. This type annotation
fixes the wrapping of this attribute in the GI PyGObject bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=639929
2011-01-20 11:19:26 +01:00
Pavel Holejsovsky
9389054da2 [GI] Add (type) annotations to real types 2011-01-20 10:38:38 +01:00
Matthias Clasen
b29af18a26 Add a GtkBuilder section to the tutorial 2011-01-20 01:30:34 -05:00
Matthias Clasen
99812be7d7 Be more careful with private event data
When copying allocated events, also copy the source device.
When synthesizing double or triple clicks, copy the original
button press event including device information.

https://bugzilla.gnome.org/show_bug.cgi?id=639822
2011-01-19 22:52:55 -05:00
Matthias Clasen
6869ff26f3 Make GtkBorder style properties have a non-NULL default
https://bugzilla.gnome.org/show_bug.cgi?id=639625
2011-01-19 21:24:30 -05:00
Matthias Clasen
2f7245699b Add gtk_text_view_get_cursor_locations
In GTK 3.0 it's no longer possible to e.g. pop up something
at a text view's cursor (this wasn't exactly possible before
either without including gtktextlayout, but this is a quite
special need anyway).
2011-01-19 17:01:19 -05:00
Michael Kotsarinis
ba02ae72fa Updated Greek translation 2011-01-19 22:03:53 +02:00
Matthias Clasen
eb7e81ddd6 Use simplesect in the tutorial
This avoids blowing up the global toc even more.
2011-01-19 14:34:08 -05:00
Alexander Larsson
07db0e38b0 [broadway] Make broadway build with new gdk-backend setup
Convert all global functions to vtable calls, etc.
2011-01-19 19:52:51 +01:00
Alexander Larsson
920e8b4343 Merge branch 'master' into broadway2
Doesn't build, but fixed up actual conflicts

Conflicts:
	configure.ac
	gdk/Makefile.am
	gtk/Makefile.am
2011-01-19 19:52:00 +01:00
Jorge González
8ed7494948 Updated Spanish translation 2011-01-19 19:37:26 +01:00
Michael Kotsarinis
889dc8111b Updated Greek translation 2011-01-19 20:30:31 +02:00
Michael Kotsarinis
e7e3702a22 Updated Greek translation 2011-01-19 20:24:06 +02:00
Matthias Clasen
0a5e8ce685 Mention type vs region ambiguity in the docs 2011-01-19 12:55:48 -05:00
Martin Pitt
d45a0114a5 Fix linking of drawing example
Commit 80e1340e introduced using a GDK method in examples/drawing.c, so
actually link that to GDK. Fixes build failure with --as-needed linker option
and gcc 4.5.
2011-01-19 15:40:46 +01:00
Sebastian Pölsterl
cbbfe48ee4 [GI] Added missing (transfer none) annotation to gtk_tree_view_get_path_at_pos 2011-01-19 15:09:05 +01:00
Trevor Saunders
f710cca49d gail now provides toolkit = gail as an AtkAttribute of all gtk objects.
https://bugzilla.gnome.org/show_bug.cgi?id=598952

https://bugzilla.gnome.org/show_bug.cgi?id=638920
2011-01-19 15:39:04 +08:00
Matthias Clasen
80e1340e51 Add a drawing example to the tutorial 2011-01-18 23:59:17 -05:00
Matthias Clasen
ceeaf183a1 Add a packing example to the tutorial 2011-01-18 23:59:17 -05:00
Matthias Clasen
ce1244fdd7 Add a paragraph explaining events and signals 2011-01-18 23:59:17 -05:00
Carlos Garnacho
0b7496558d Make GtkCssProvider deal with widget types not being in plain CamelCase
Fixes bug #Bug 639754, reported by Kjell Ahlstedt. gtkmm doesn't
use plain CamelCase for its widget type names, so in order to
distinguish widget type names from regions in the CSS parser,
the following checks are now done:

* if it contains an uppercase letter -> widget class (that should
  also work for gtkmm)

* if it's a string compound by lowercase letters and '-' -> it's
  a region, checks have been added in gtk_style_context_add_region()
  and gtk_widget_path_iter_add_region() to ensure this.
2011-01-19 04:28:49 +01:00
Carlos Garnacho
0c5ceaf757 Set horizontal/vertical style classes to GtkRanges 2011-01-19 04:28:49 +01:00
Carlos Garnacho
f430a306f7 Make GtkCheckButton/GtkRadioButton background white again 2011-01-19 04:28:49 +01:00
Carlos Garnacho
687ac4d4aa Don't displace background for spinbuttons in the theming engine
This is a leftover from the older GtkStyle code, this is handled
through CSS spacings instead.
2011-01-19 04:28:48 +01:00
A S Alam
474ed78b25 update Punjabi Translation 2011-01-19 08:40:52 +05:30
Yaron Shahrabani
da27cae045 Updated Hebrew translation. 2011-01-19 01:02:39 +02:00
Pavel Holejsovsky
a1c297a310 [GI] Cosmetic cleanups of annotations and doc comments
This change does not introduce any functionality change, mostly
cosmtic cleanups, like re-linebreak when introduced annotations messed
up indentation or whitespace errors fixes.
2011-01-18 17:31:59 +01:00
Pavel Holejsovsky
fe372ddf5e [GI] Add missing (allow-none) annotations 2011-01-18 17:30:43 +01:00
Pavel Holejsovsky
6d5cdad56e [GI] Annotate strings holding file paths as (type filename) 2011-01-18 17:29:40 +01:00
Pavel Holejsovsky
204d1fd0a6 [GI] Make argument names in vfunc decls consistent with invoker docs 2011-01-18 17:28:35 +01:00
Pavel Holejsovsky
729c823955 [GI] Mark callbacks' context parameter with (closure) annotation. 2011-01-18 17:20:32 +01:00
Bastien Nocera
714d9bc407 GtkImage: Add "use-fallback" property
So that icon-name and GIcon type of GtkImages can use automatic
fallback names.
2011-01-18 16:14:05 +00:00
Tristan Van Berkom
e6a51e4afb More accurate fix for GtkTreeMenu regression.
The previous fix rebuilds the root menu unconditionally,
this one only rebuilds the root menu if the root path
has indeed changed.

https://bugzilla.gnome.org/show_bug.cgi?id=639792
2011-01-19 00:43:08 +09:00
Sebastian Pölsterl
34b573b07c Fixed gtk_calendar_get_date annotations: Added missing (out) 2011-01-18 16:21:10 +01:00
Anders F Björklund
6095598c39 Consistently use PKG_CONFIG in macros 2011-01-18 09:55:35 -05:00
Matthias Clasen
bb7662392d Don't set the default display to NULL
This was causing segfaults if DISPLAY is unset
2011-01-18 09:36:59 -05:00
Matthias Clasen
fe687e760e Add testcases for opening display
More precisely, test that we can successfully fail to open
a display...
2011-01-18 09:36:24 -05:00
Martin Pitt
b208b9c0e9 Fix GtkIconView GI annotations
Add the missing (out) annotations, and a missing allow-none.
2011-01-18 12:32:52 +01:00
Yaron Shahrabani
ebb18e65c3 Updated Hebrew translation. 2011-01-18 12:56:57 +02:00
Matthias Clasen
64c79c15a6 Fix a combo refactor regression
https://bugzilla.gnome.org/show_bug.cgi?id=639792
2011-01-17 21:56:34 -05:00
Luca Ferretti
a29b4c6a51 Fix case (s/A/a) in translatable string (Select A Folder) 2011-01-17 21:43:33 +01:00
Garrett Regier
cb0fac73a5 Fix memory leak in gtk_window_group_list_windows 2011-01-17 08:23:59 -08:00
Martin Pitt
234b3b2c6f Annotate GtkIconView array arguments 2011-01-17 16:01:40 +01:00
Matthias Clasen
9f895aa3ad Make symbolic icons work again
Work around https://bugzilla.gnome.org/show_bug.cgi?id=639750
2011-01-17 09:57:35 -05:00
Matthias Clasen
77ff699226 Drop gtk-builder-convert
It will still be shipped in gtk 2.24.
2011-01-17 09:55:52 -05:00
Pavel Holejsovsky
09d395f629 Move GtkFileFilter docs inline 2011-01-17 15:27:06 +01:00
Pavel Holejsovsky
4dab3a601d Move GtkMenu docs inline 2011-01-17 15:27:04 +01:00
Pavel Holejsovsky
2bd38dc7f5 Move GtkFixed docs inline
Also remove incorrect documentation of opaque GtkFixed class struct.
2011-01-17 15:27:02 +01:00
Carlos Garnacho
2f207ca749 Make selectors with no explicit state from higher priority GtkStyleProviders override lower ones with a state.
This makes overriding information from the themes more intuitive
2011-01-17 04:44:29 +01:00
Carlos Garnacho
5f43a51a83 Make gtk_widget_get_path() also add all persistent style classes the widget has. 2011-01-17 04:44:03 +01:00
Carlos Garnacho
62fd79b224 Do not set junction sides to the entry frame in spinbuttons.
That's meant to be the outer frame, so no junction sides apply there
2011-01-17 04:43:52 +01:00
Carlos Garnacho
f482d4dc89 Ensure harder a GtkStyleContext has a theming engine anytime 2011-01-17 04:43:42 +01:00
Carlos Garnacho
07e62229da Make GtkFrame propagate the "frame" style class to its header label 2011-01-17 04:43:31 +01:00
Carlos Garnacho
0e77486e91 Make GtkEntry set the style context state. 2011-01-17 04:43:23 +01:00
Carlos Garnacho
e28a2695ac Improve progressbars theming.
Make progressbar itself have an outset border, and improve spacings.
2011-01-17 04:43:16 +01:00
Daniel Mustieles
c444ccf531 Updated Spanish translation 2011-01-16 21:25:10 +01:00
Daniel Mustieles
477ff06b25 Updated Spanish translation 2011-01-16 21:24:39 +01:00
Daniel Mustieles
837583eb36 Updated Spanish translation 2011-01-16 19:30:49 +01:00
Fran Diéguez
6893aa9c25 Updated Galician translations 2011-01-16 17:14:23 +01:00
Tristan Van Berkom
d9ebdb7610 Plugged memory leak in gdk_x11_device_manager_xi2_list_devices.
This was simply a misplaced 'g_list_copy()'.
2011-01-16 22:47:12 +09:00
Tristan Van Berkom
a530f88234 Plugged leaking PangoFontDescriptions in gtk_modifier_style_set_font(). 2011-01-16 21:14:00 +09:00
Tristan Van Berkom
9438107bff Plugged leak in gtkcssprovider.c
SelectorStyleInfo structs were never freed.
2011-01-16 20:52:43 +09:00
Tristan Van Berkom
c35fb706bd Plugged memory leak in gtk_style_finalize (destroy the ->background[] patterns). 2011-01-16 20:17:52 +09:00
Tristan Van Berkom
4a5c435e9a Plugging memory leak in GtkCellArea (free ->style_detail at finalize time). 2011-01-16 18:15:57 +09:00
Ivar Smolin
f793626a53 [l10n] Updated Estonian translation 2011-01-16 10:25:57 +02:00
Ivar Smolin
27e8df0c2c [l10n] Updated Estonian translation 2011-01-16 10:25:22 +02:00
Martin Pitt
85fe2ce17f Gtk{List,Tree}Store: Fix GI array annotations 2011-01-15 15:26:12 -06:00
Inaki Larranaga Murgoitio
9f78fd22bc Updated Basque language 2011-01-15 18:17:38 +01:00
Javier Jardón
46f0994417 docs: gtkwidget: Add some "Since: 3.0" 2011-01-15 16:43:49 +00:00
Tristan Van Berkom
ac61edb9fc Avoid calling gtk_widget_is_visible(NULL) in _gtk_notebook_get_tab_flags().
The tab can be NULL here when GtkNotebook:show-tabs is FALSE.
2011-01-15 21:34:49 +09:00
Kjartan Maraas
fed55eaf36 Updated Norwegian bokmål translation 2011-01-15 12:08:53 +01:00
Kjartan Maraas
77ad5096a9 Add missing files 2011-01-15 12:08:53 +01:00
Kjartan Maraas
4392c0e9b5 Updated Norwegian bokmål translation 2011-01-15 12:08:53 +01:00
Matthias Clasen
22876d789c Fix a typo 2011-01-15 00:39:29 -05:00
Matthias Clasen
cc92d6da03 Fix a typo 2011-01-15 00:16:51 -05:00
Matthias Clasen
ccc3d874ef Add accessors for GtkRange::round-digits
Patch by Christian Dywan,
https://bugzilla.gnome.org/show_bug.cgi?id=351755
2011-01-15 00:08:39 -05:00
Matthias Clasen
8e420bca02 Unify handling of prelighted icons
Make GtkEntry use gtk_render_icon_pixbuf for rendering the
icons, and move the working icon prelighting code from GtkEntry
to GtkThemingEngine.

https://bugzilla.gnome.org/show_bug.cgi?id=636691
2011-01-14 23:59:22 -05:00
Chun-wei Fan
e9319c6182 Merge ssh://git.gnome.org/git/gtk+ 2011-01-15 12:42:52 +08:00
Matthias Clasen
867dc0bd0d Avoid a critical warning during tab DND
https://bugzilla.gnome.org/show_bug.cgi?id=639380
2011-01-14 21:15:06 -05:00
Matthias Clasen
d790fd4fdd Update information about visuals
Based on a patch by Jasper St. Pierre,
https://bugzilla.gnome.org/show_bug.cgi?id=639520
2011-01-14 20:45:53 -05:00
Matthias Clasen
8f6a8441a2 Implement the editing-canceled property in GtkCellEditableEventBox
https://bugzilla.gnome.org/show_bug.cgi?id=639455
2011-01-14 20:24:26 -05:00
Matthias Clasen
1cba79677c Add --enable-gtk2-dependency option
This can be used to suppress building of gtk-update-icon-cache
in favor of using a preexisting version. Based on a patch by
Colin Walters,
https://bugzilla.gnome.org/show_bug.cgi?id=639471
2011-01-14 20:01:05 -05:00
Matthias Clasen
d8d31c60ca Drop never-updated revision attributes 2011-01-14 19:35:34 -05:00
Matthias Clasen
abc8ac1a8b Move GtkSelection docs inline
At the same time, move private selection API to gtkselectionprivate.h
2011-01-14 19:20:56 -05:00
Matthias Clasen
00a3685f41 Move GtkPrintJob docs inline 2011-01-14 18:39:01 -05:00
Matthias Clasen
6cf78a12c1 Move GtkTextTag docs inline 2011-01-14 17:49:48 -05:00
Matthias Clasen
06864ba656 Move GtkMenuShell docs inline 2011-01-14 16:59:29 -05:00
Sahran
35644cab9e Added UG translation 2011-01-14 22:46:35 +01:00
Fridrich Štrba
708357001a make the ms-windows engine compile again 2011-01-14 19:49:31 +01:00
Michael Natterer
6f4adebcef gtk: render GtkEventBox' background in the right state 2011-01-14 16:56:50 +01:00
Fran Diéguez
d0f51577a4 Updated Galician translations 2011-01-14 16:49:43 +01:00
Matthias Clasen
e62b68fe62 Add EXPORT_PACKAGES for the girs
This connects the girs to the pc file names.

https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:46:21 -05:00
Matthias Clasen
9d14edf760 Add --include-uninstalled for the gdk gir
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:44:10 -05:00
Matthias Clasen
8ba35bc381 Add --warn-all to introspection scanner args
https://bugzilla.gnome.org/show_bug.cgi?id=635287
2011-01-14 09:32:26 -05:00
Colin Walters
890e4511aa GtkContainer: make "handle_border_width" member private
Otherwise in introspection we get a naming conflict between the
structure member and the method.

http://bugzilla.gnome.org/show_bug.cgi?id=639325
2011-01-14 09:29:33 -05:00
Matthias Clasen
92c8a3e0e1 Remove an overlooked instance of gdk drawing api 2011-01-13 23:42:12 -05:00
Matthias Clasen
985b0e57b2 Add a migration guide section about multiple backends 2011-01-13 23:40:47 -05:00
Matthias Clasen
04248fbd39 Update some outdated content in the question index
Based on a patch by Jasper St. Pierre
https://bugzilla.gnome.org/show_bug.cgi?id=639494
2011-01-13 23:10:25 -05:00
Matthias Clasen
b23839c7a5 Add an example for custom css 2011-01-13 22:19:58 -05:00
Matthias Clasen
9d85d87f05 Move GtkMenuBar docs inline
And remove some outdated content.
2011-01-13 22:11:22 -05:00
Matthias Clasen
df78c9ee66 Add some doc details
Mention symbolic color names in gtk_icon_info_load_symbolic_for_context()
2011-01-13 21:38:08 -05:00
Cosimo Cecchi
7e29fc5b42 gtkshow: don't call _get_display() on a NULL GdkScreen
gtk_show_uri() is documented to accept a NULL screen to mean the default
one. Calling gdk_screen_get_display() on a NULL object will cause
segfaults.
2011-01-13 16:18:59 +01:00
Tristan Van Berkom
04494c5df0 Making GtkCellLayout "no cell area yet" warning a g_critical instead. 2011-01-13 23:02:34 +09:00
Tristan Van Berkom
66593ef569 Added warnings to GtkCellLayout when api is accessed and there is no GtkCellArea to operate on. 2011-01-13 21:35:02 +09:00
Ivar Smolin
eaca2ea5e8 [l10n] Updated Estonian translation 2011-01-13 12:40:46 +02:00
Mahyar Moghimi
cbd313c237 correcting on off in gtkswitch according to bugreport:638232 2011-01-13 11:35:44 +03:30
Tristan Van Berkom
89eb869ecf Avoid crashes calling gdk_window_enable_synchronized_configure() on an offscreen window.
Just added gdk_offscreen_window_do_nothing() noop stub in that slot.
2011-01-13 17:03:14 +09:00
Matthias Clasen
290c34b232 Try harder to find a good display name for paper sizes
This was requested in https://bugzilla.gnome.org/show_bug.cgi?id=639186.
Also add some tests for GtkPaperSize.
2011-01-12 22:30:08 -05:00
Matthias Clasen
8709c86944 bump version 2011-01-12 19:56:22 -05:00
Matthias Clasen
03344207b9 Update NEWS 2011-01-12 19:06:48 -05:00
Matthias Clasen
76de8aa790 Move GtkTreeModel docs inline 2011-01-12 18:50:45 -05:00
Matthias Clasen
349c3a8839 Move enum docs inline
Based on a patch by Garrett Regier
https://bugzilla.gnome.org/show_bug.cgi?id=617324
2011-01-12 18:50:45 -05:00
Thomas Wood
0c6251d0d2 switch: allow the user to toggle the switch by clicking on the handle 2011-01-12 18:50:45 -05:00
Inaki Larranaga Murgoitio
49a6e0c2b6 Updated Basque language 2011-01-12 23:20:26 +01:00
Inaki Larranaga Murgoitio
e3304fe130 Updated Basque language 2011-01-12 23:18:55 +01:00
Inaki Larranaga Murgoitio
6a5d9b0bec Updated Basque language 2011-01-12 23:09:27 +01:00
Carlos Garnacho
e2e7075533 Redo patch in efae64b (Set vertical/horizontal class...)
Add a _gtk_orientable_set_style_classes() function so all
orientation changes to style happen in a single place.
2011-01-12 22:58:41 +01:00
Christian Persch
b6464b6c0a Add target version handling to gtk-builder-convert
When converting to gtk3, replace GtkComboBoxEntry with GtkComboxBox
has-entry=True, and remove the has-separator property from GtkDialogs.

Bug #639327.
2011-01-12 22:45:57 +01:00
Carlos Garnacho
efae64be66 Set vertical/horizontal class on all widgets overriding GtkOrientable::orientation
This is so g_object_set() on that property leaves widgets' style in
a meaningful state. Fully fixes bug 639157.
2011-01-12 22:28:43 +01:00
Carlos Garnacho
8ad724ebcc Deal with the abscence of horizontal/vertical class when rendering an expander 2011-01-12 22:07:34 +01:00
Carlos Garnacho
26db0b7276 Make GtkMenu(Shell) use GtkStyleContext
The default CSS has also been modified to theme these sensibly
2011-01-12 20:55:36 +01:00
Carlos Garnacho
4b61182521 Make GtkCheckMenuItem use GtkStyleContext 2011-01-12 20:54:35 +01:00
Carlos Garnacho
b7caeb7adb Fix rendering glitch in menu radiobuttons
The arcs needed a new subpath.
2011-01-12 20:54:35 +01:00
Carlos Garnacho
f4714ccae2 Make GtkTearoffMenuItem use GtkStyleContext 2011-01-12 20:54:35 +01:00
Carlos Garnacho
7f5349b75a Make GtkImageMenuItem use GtkStyleContext 2011-01-12 20:54:34 +01:00
Carlos Garnacho
c42f20efe3 Make GtkMenuItem use GtkStyleContext 2011-01-12 20:54:34 +01:00
Carlos Garnacho
6ff7a8daf2 Make GtkToolItemGroup use GtkStyleContext 2011-01-12 20:54:34 +01:00
Tristan Van Berkom
3492b1567d Fixed assertions in gtk_cell_renderer_get_aligned_area().
The assertions here were not accounting for the possiblility of
zero width visible renderers that are aligned completely to the
right (i.e. renderers with no content set for a said row).
2011-01-13 01:16:19 +09:00
Guillaume Desmottes
aa1f58b731 _gtk_cell_area_set_cell_data_func_with_proxy: set the proxy when creating a new CellInfo (#637965) 2011-01-12 14:33:27 +01:00
Benjamin Otte
2b0b08a861 stylecontext: Protect the cairo contexts with cairo_save/cairo_restore()
We don't want theme engines to mess up the context we are currently
drawing with.
2011-01-12 11:40:09 +01:00
Chun-wei Fan
f79266092b Update MSVC 2008 Project Files
-Update the project files to simplify them a bit after the seperation of
 GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the
 linking of Cairo/Pango/PangoCairo into the property sheet)--this is for
 all DLL/EXE Projects (GDK/GTK/gtk-demo)

-Update the GDK-Win32 project as the source files have changed
 significantly (especially as GDK3 was not compilable on Windows for a
 while--thanks to Hans Breuer for the help in the process-Bug 639127)

-Made up for missed headers in the "install" stage and removed the removed
 headers in the property sheet

-Updated GTK+ .def file generation as an extra macro is needed for that

-Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin
2011-01-12 18:36:05 +08:00
Chun-wei Fan
479a08054b Update MSVC 2008 Project Files
-Update the project files to simplify them a bit after the seperation of
 GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the
 linking of Cairo/Pango/PangoCairo into the property sheet)--this is for
 all DLL/EXE Projects (GDK/GTK/gtk-demo)

-Update the GDK-Win32 project as the source files have changed
 significantly (especially as GDK3 was not compilable on Windows for a
 while--thanks to Hans Breuer for the help in the process-Bug 639127)

-Made up for missed headers in the "install" stage and removed the removed
 headers in the property sheet

-Updated GTK+ .def file generation as an extra macro is needed for that

-Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin
2011-01-12 18:32:57 +08:00
Khaled Hosny
6d6b38cf78 Updated Arabic translation 2011-01-12 09:11:04 +02:00
Khaled Hosny
908b419260 Updated Arabic translation 2011-01-12 08:56:41 +02:00
Fridrich Štrba
2f3c3ca7d3 Fix windows build from git clean and a minor linking issue 2011-01-11 22:45:40 +01:00
Yaron Shahrabani
f0b05328a6 Updated Hebrew translation 2011-01-11 20:40:36 +02:00
Florian Müllner
5616ad0e19 [build] Add gtktextattributes.h
Commit 7fae37ecd5 factored out GtkTextAttributes, but did not add
the new header to the build system.
2011-01-11 18:10:26 +01:00
Fridrich Štrba
a606ea62a1 Fix win32 build 2011-01-11 17:28:37 +01:00
Benjamin Otte
7e33c009a0 gdk: Fix typo
<mclasen>: Comapny: kludge, with a k
2011-01-11 17:06:49 +01:00
Benjamin Otte
b05f54ff73 x11: Add --c-include for gdk/gdkx.h to Gdk-X11 gir build 2011-01-11 16:46:59 +01:00
Benjamin Otte
ebd5f8b10e gdk: Put stub gdkx.h into gdk/ dir
This is so we can include gdk/gdkx.h from inside GTK code.
2011-01-11 16:46:59 +01:00
Benjamin Otte
654aca5ccd gdk: Don't build X11 stuff into Gdk.gir 2011-01-11 16:46:59 +01:00
Benjamin Otte
268efbc0ef gdk: Add --c-include gdk/gdk.h to Gir build. 2011-01-11 16:46:59 +01:00
Benjamin Otte
a25813cc24 gtk: Add --c-include to gir build 2011-01-11 16:46:59 +01:00
Benjamin Otte
b30b33998f gtk: Prefix GtkCellAreaBoxContext symbols with an underscore
They are private.
2011-01-11 16:46:59 +01:00
Benjamin Otte
8899ab3f91 gtk: Remove private GtkCellAreaBoxContext symbols from gtk.symbols 2011-01-11 16:46:59 +01:00
Benjamin Otte
04c773c94d gtk: Rename private header to private name
gtk/gtkcellareaboxcontext.h -> gtk/gtkcellareaboxcontextprivate.h
2011-01-11 16:46:59 +01:00
Benjamin Otte
b43bafff52 textview: Move text attributes code into its own .c file 2011-01-11 16:46:59 +01:00
Benjamin Otte
7fae37ecd5 textview: Move GtkTextAttributes to its own header 2011-01-11 16:46:59 +01:00
Benjamin Otte
b40dc528f6 tests: Remove useless calls to gtk_widget_style_attach() 2011-01-11 16:46:59 +01:00
Christian Dywan
35d361fce9 2 to 3 migration should say gtk_widget_set_visual 2011-01-11 16:36:19 +01:00
Milan Bouchet-Valat
44da5a0094 Improve docs about GtkStyleContext padding/border/margin
GTK_STYLE_PROPERTY_BORDER_WIDTH is of style GtkBorder, not gint.

Also make it clearer what the definition and ordering of these 3
properties is. Reorder them in the header to be more logical.
2011-01-11 12:28:54 +01:00
Cosimo Cecchi
27ee3fec96 numerableicon: fix a typo in the gtk-doc annotation 2011-01-11 10:55:42 +01:00
Javier Jardón
df2a4a6131 docs: question_index: Do not reference deprecated API 2011-01-11 09:37:05 +00:00
Javier Jardón
44f16bfe6d docs: question_index: GtkComboBoxEntry no longer exists 2011-01-11 09:35:15 +00:00
Javier Jardón
1a79d9939c docs: question_index: Some documentation fixes 2011-01-11 09:31:08 +00:00
Matthias Clasen
62ba858582 Bump version 2011-01-10 23:36:47 -05:00
Matthias Clasen
6d9191f601 Revert accidental gtk.symbols changes 2011-01-10 22:59:13 -05:00
Matthias Clasen
a9a7eca7f3 Update NEWS 2011-01-10 22:19:12 -05:00
Sébastien Granjoux
8f6cd8d86d Fix bgo #638017 Crash in gtk_text_view_set_tabs() 2011-01-10 21:07:32 -05:00
Matthias Clasen
9b752aee1a Don't use deprecated style api 2011-01-10 20:33:13 -05:00
Carlos Garnacho
48a4f88ab1 Mark orientable widgets with the vertical/horizontal css classes
This can be used to theme widgets differently depending on the
orientation. Bug 639157, reported by Christian Dywan.
2011-01-10 23:53:29 +01:00
Carlos Garnacho
529fcc84cf Add missing CSS class defines to gtk3-sections.txt 2011-01-10 23:52:47 +01:00
Carlos Garnacho
4c4df23d12 GtkThemingEngine: Fix handles rendering
The wrong class was being used, so the theming engine didn't
match it properly.
2011-01-10 23:52:36 +01:00
Carlos Garnacho
d5b0ccacce GtkStyleContext: Do not cancel possibly unstarted transitions
It might happen that this overcautious check is done on an animation
that didn't have time to gather invalidation rectangles.
2011-01-10 23:52:21 +01:00
Carlos Garnacho
733cb5e43d Cleanup leftover code in gtkplug-x11
This code was part of the GdkDeviceManagerCore hack
2011-01-10 23:52:02 +01:00
Carlos Garnacho
42ad651914 Mark gtk_widget_style_attach() as deprecated.
This isn't needed anymore.
2011-01-10 23:51:48 +01:00
Carlos Garnacho
e426f76e57 Fix compiler warning. 2011-01-10 23:51:14 +01:00
Carlos Garnacho
fa2bfd93f8 Add gtk_widget_set_device_enabled()
This function is a more convenient variant than
gtk_widget_set_device_events(), as it will

1) perform changes down a widget hierarchy, to
all windows.
1) use the same event mask than gdk_window_get_events()
2011-01-10 23:01:02 +01:00
Carlos Garnacho
c94912afd5 GtkTextUtil: Fix typo
Use the right "context" object around in GtkStyleContext methods.
2011-01-10 23:01:01 +01:00
Paolo Borelli
a67507a53e Set the proper css class when getting attributes. 2011-01-10 21:58:29 +01:00
Hans Breuer
0a9abb0222 [portability] Use G_PI rather than M_PI 2011-01-10 21:39:34 +01:00
Hans Breuer
f605d3d698 Bug 639127 - Add missing gdkdisplaymanager-win32.c 2011-01-10 21:39:33 +01:00
Carlos Garnacho
de36dda925 Add gtk_style_context_scroll_animations()
This function will be needed in widgets like GtkTreeView,
since gdk_window_scroll() doesn't trigger the usual
mechanisms to update the invalidation area, this function
is needed together with it.
2011-01-10 20:49:41 +01:00
Carlos Garnacho
162380fca5 Make GtkCalendar use GtkStyleContext 2011-01-10 20:49:34 +01:00
Carlos Garnacho
12944d9c23 Do not set any padding for scrolled window children. 2011-01-10 20:49:27 +01:00
Carlos Garnacho
d9dab98ad6 GtkCssProvider: enable parsing negative GtkBorders
this can be used as in regular CSS under some situations,
so child items overlap the parent element's border.
2011-01-10 20:49:14 +01:00
Carlos Garnacho
2ec40cac8c Make GtkTextUtil use GtkStyleContext. 2011-01-10 20:48:59 +01:00
Paolo Borelli
c5a8584c3e CSS styles for the selection in a TextView.
https://bugzilla.gnome.org/show_bug.cgi?id=639106
2011-01-10 18:52:35 +01:00
Paolo Borelli
2290ec6bd8 Port GtkTextDisplay to StyleContext.
Use the new StyleContext and StateFlags to draw the text

https://bugzilla.gnome.org/show_bug.cgi?id=639105
2011-01-10 18:52:35 +01:00
Matthias Clasen
845d864a51 add gtknumerable.c to POTFILES.in 2011-01-10 12:06:31 -05:00
Yaakov Selkowitz
5caa2b58cb Fix remaining usage of g[dk]ktargetlib.
This is a follow-up to commit 07d49ee56a.

https://bugzilla.gnome.org/show_bug.cgi?id=639047
2011-01-10 11:53:26 -05:00
Matthias Clasen
efd0e6ec1f Add a setter for GtkWindow.has_user_ref_count
This is needed for some language bindings.

https://bugzilla.gnome.org/show_bug.cgi?id=638880
2011-01-10 11:49:06 -05:00
Matthias Clasen
061d48b68d More doc build fixes
Grr, our mixture of xml and plain text in long descriptions is
a mess.
2011-01-10 10:59:50 -05:00
Matthias Clasen
f758385353 Fix doc syntax 2011-01-10 09:47:09 -05:00
Javier Jardón
63bb0c73bc build: Use mkdir_p instead mkinstalldirs
As we don't use mkinstalldirs, $(mkinstalldirs) is simply an
alias for $(mkdir_p)
2011-01-10 13:55:29 +00:00
Tristan Van Berkom
3f911b2516 Fixed GtkEntry to report the proper default value for "primary/secondary-icon-activatable" 2011-01-10 22:26:46 +09:00
Tristan Van Berkom
2dafbba921 Added GtkBuildable support for specifying <items> in GtkComboBoxText. 2011-01-10 18:48:07 +09:00
Tristan Van Berkom
cfecb6bf10 Added GtkBuildable support to add "tag" children to GtkTextTagTable. 2011-01-10 18:48:07 +09:00
Tristan Van Berkom
03975b8e74 Added GtkBuilder support for "menu" child type of GtkMenuToolButton 2011-01-10 18:48:07 +09:00
Tristan Van Berkom
1fa280938b Fixed GtkCellAreaBox to not allocate invisible cells.
This was already done for the most part but not taken care
of for single cell groups (which is the most common case).
2011-01-10 18:47:55 +09:00
Tristan Van Berkom
34a7dbae3b Fixed GtkCellArea to never activate/start editing insensitive cells.
Included extension to tests/testtreeedit to show this is working properly.
2011-01-10 17:58:57 +09:00
Carlos Garnacho
5c3b49ab14 Ensure GtkStyleContext is generated on gtk_widget_render_icon_pixbuf()
This fixes some warnings seen when this is called early
on non yet styled widgets.
2011-01-10 03:50:02 +01:00
Carlos Garnacho
6f3706ac28 Make GtkViewport use GtkStyleContext 2011-01-10 03:50:02 +01:00
Carlos Garnacho
e6277d3b82 Add gtk_style_context_cancel_animations()
This function takes a region ID and cancels all animations
on or beneath that region (as in push/pop_animatable_region).

First user of this is GtkWidget itself, so unmapped widgets
have looping animations cancelled. Fixes bug #638119, reported
by Jesse van den Kieboom.
2011-01-10 03:50:01 +01:00
Carlos Garnacho
3dd838fe76 Make GtkLayout use GtkStyleContext 2011-01-10 03:50:01 +01:00
Carlos Garnacho
18502518f3 Make GtkImage use GtkStyleContext 2011-01-10 03:50:00 +01:00
Carlos Garnacho
4e73267325 Make GtkPrintUnixDialog use GtkStyleContext. 2011-01-10 03:50:00 +01:00
Carlos Garnacho
6fae7c9fa7 Make GtkFontSelection use GtkStyleContext 2011-01-10 03:50:00 +01:00
Carlos Garnacho
2f6514ce34 Make GtkHSV use GtkStyleContext
two custom classes replace the light/dark focus detail strings,
it doesn't make much sense to have a GTK_STYLE_CLASS_* for that.
2011-01-10 03:49:59 +01:00
Carlos Garnacho
27c5cc88f8 Make GtkColorSelection use GtkStyleContext 2011-01-10 03:49:59 +01:00
Carlos Garnacho
455c31d815 Make GtkColorButton use GtkStyleContext 2011-01-10 03:49:59 +01:00
Carlos Garnacho
e0e36b621f Update _gtk_button_paint() arguments to GtkStyleContext
The detail strings weren't in use anymore, and the state
argument is now a GtkStateFlags. GtkToggleButton has been
updated as well.
2011-01-10 03:49:59 +01:00
Carlos Garnacho
f506fc3e93 Remove recent GtkStyle usage in GtkWindow
GtkStyleContext API is used instead.
2011-01-10 03:49:59 +01:00
Fran Diéguez
e94b515171 Updated Galician translations 2011-01-10 00:03:19 +01:00
Paolo Borelli
ab656b3f7a Obtain the fg color from the renderer
prepare_run must have been called before draw_shape, so we can avoid
fiddling the the (deprecated) style and state and just use the color
alredy set on the renderer.

https://bugzilla.gnome.org/show_bug.cgi?id=639079
2011-01-09 21:59:50 +01:00
Paolo Borelli
fadca187f2 Remove stipple attributes
GtkTextView does not support them anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=639030
2011-01-09 21:59:50 +01:00
Paolo Borelli
12c4730e6f Small cleanup in gailtextview code.
Fold gail_misc_add_to_attr_set into the only function calling it, which
avoids a useless big "switch" and results in much less code.

https://bugzilla.gnome.org/show_bug.cgi?id=639030
2011-01-09 21:59:50 +01:00
Yaron Shahrabani
89c8e2af2d Updated Hebrew translation 2011-01-09 21:04:58 +02:00
Fran Diéguez
e0d393dec8 Updated Galician translations 2011-01-09 16:42:40 +01:00
Milan Bouchet-Valat
f9e685e5c0 [Doc] gtk_symbolic_color_resolve()'s props arg can be NULL
Document this behavior and add annotations.
2011-01-08 17:30:45 +01:00
Jorge González
b761cadacc Updated Spanish translation, fixes bug #638991 2011-01-08 13:49:31 +01:00
Javier Jardón
cc0a65cb56 docs: Fix typo in GtkWidget geometry-management documentation
Reported by Andrew Cowie in
https://bugzilla.gnome.org/show_bug.cgi?id=638963
2011-01-08 10:56:59 +01:00
Tristan Van Berkom
1ff8df1e18 Adding missing gtk-doc annotations.
GtkProgressBar:show-text, GtkScrolledWindow:min-content-width/height
are new properties in 3.0.
2011-01-08 18:46:46 +09:00
Bruce Cowan
094d4c81be Updated British English translation 2011-01-07 23:25:18 +00:00
Carlos Garnacho
29b4baea97 Translate KeyPress/KeyRelease in gtkplug-x11
This makes XEmbed work properly again. Only event->key.group
and is_modifier are left blank at the moment. Exposing the
necessary XKB bits should be considered, but it's not urgent
for the current usecases.
2011-01-07 22:07:52 +01:00
Kristian Rietveld
4ed781778d Introduce gtk_tree_view_is_blank_at_pos()
This function is useful to figure out whether the tree view is "blank"
at a given location.  For such locations you might want to popup a
custom popup menu, clear the current selection or start rubber banding.
In the future, we are planning on updating GtkTreeView's user
interactions to take advantage of this new function.

Part of bug 350618.
2011-01-07 15:38:06 +01:00
Kristian Rietveld
688d053436 Fix gtk_tree_view_column_cell_get_position() 2011-01-07 15:38:06 +01:00
Andika Triwidada
c40c4a45e5 Updated Indonesian translation 2011-01-07 20:38:52 +07:00
Matthias Clasen
be632558dc Document that GtkModuleInit doesn't receive argv anymore 2011-01-07 08:12:07 -05:00
Ignacio Casal Quinteiro
8de4661d80 Set the style for .view so i.e the GtkTextView gets the right style. 2011-01-07 11:35:40 +01:00
Tristan Van Berkom
da41937b42 Removed special casing code in GtkCellLayout in favor of default implementation.
The fact that GtkCellLayout was checking "if (gtk_cell_layout_get_area (layout))"
and executing code contitionally from the apis instead of simply falling
back to the default implementation for these things was causing problems
in language bindings such as gtkmm... Regardless, the implementation
is cleaner this way too.
2011-01-07 18:08:51 +09:00
Tristan Van Berkom
685fe29473 Fixed documentation of gtk_cell_area_set_focus_cell(). 2011-01-07 16:21:51 +09:00
Emilio Pozuelo Monfort
ec15c405cf Support disabling X11 extensions
Based on a patch from Cyril Brulebois <kibi@debian.org>

https://bugzilla.gnome.org/show_bug.cgi?id=612918
2011-01-07 01:30:11 +00:00
Fran Diéguez
7fc09ee135 Updated Galician translations 2011-01-07 00:11:51 +01:00
Matthias Clasen
aead0b04df Forgotten documentation fix 2011-01-06 11:27:38 -05:00
Matthias Clasen
7f58c57606 Bump version 2011-01-06 11:27:15 -05:00
Matthias Clasen
6cdb6255af More documentation fixes 2011-01-06 09:44:08 -05:00
Matthias Clasen
f35c3fd5f7 Undoccommentize gtktreemenu.c 2011-01-06 09:00:53 -05:00
Matthias Clasen
6619ac35e3 Documentation fixes 2011-01-06 09:00:53 -05:00
Matthias Clasen
c396c52327 Documentation fixes 2011-01-06 08:12:01 -05:00
Matthias Clasen
dc3d70b4ec Add sufficient deps to make building from 'git clean' work 2011-01-06 07:44:44 -05:00
Matthias Clasen
5984fa0073 Fix introspection annotation syntax 2011-01-06 07:44:19 -05:00
Kizito Birabwa
2f09f800cc Updated Luganda translation 2011-01-06 10:23:59 +01:00
Matthias Clasen
7b88b29763 Add appchooser docs 2011-01-06 02:07:35 -05:00
Matthias Clasen
80a11b7483 Documentation polishing 2011-01-06 01:13:50 -05:00
Matthias Clasen
f2cde4cf3b Move the GtkApplication example to the right place 2011-01-06 01:13:50 -05:00
Matthias Clasen
39d0a8ac47 Update NEWS some more 2011-01-06 01:13:50 -05:00
Tristan Van Berkom
44a9b1c35e Fixed statement in gtkwindow.c when toplevelness changes.
Fixed a typo when checking if the heirarchy toplevel is a toplevel
before firing the hierarchy-changed signal.
2011-01-06 14:39:41 +09:00
Tristan Van Berkom
a28295a742 Dont show the GtkWindow when removing it from a parent and becomming a toplevel
Showing the window causes it to try to grab focus, this causes problems
when embedded toplevels run through dispose cycles.
2011-01-06 14:39:41 +09:00
Tristan Van Berkom
b8c8f2ccb1 Fixed conflict while rebasing master. 2011-01-06 14:39:41 +09:00
Tristan Van Berkom
72675f1f28 Changes to testtoplevelembed
- Made notebook tabs smaller
  - No need to hide/show toplevels after removing from a parent,
    if it's visible it will be automatically shown after removing
    outside of it's previous parent.
2011-01-06 14:39:41 +09:00
Tristan Van Berkom
53980aca9b Fixed GtkFileChooserDefault to handle cases of being in an embedded dialog.
This involves checking the toplevelness of new toplevels before connecting
but not the *old* ones for disconnecting signals. Also take care of handling
a row_reference that becomes invalid over the course of reparenting the
filechooser into another parent.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
93c8058582 Fixed GtkWindow/GtkWidget to properly emit hierarchy changed for embedded toplevels
Now GtkWindow takes some measures when setting toplevelness:

  - When a window becomes toplevel after being embedded it saves
    the visibility state and reshow's itself so that the window
    re-realizes and presents itself again automatically

  - When emitting hierarchy-changed, synthetically mark the toplevel
    as not anchored, this allows the hierarchy changed propagation to
    recurse properly.

GtkWidget also takes care to unset the parent window *after* unparenting
the widget and after emitting the heirarhcy changed that leaves a NULL
toplevel.

That means there are now 2 cycles of "hierarchy-changed" when removing
an embedded toplevel from a parent, first one that makes the new toplevel
a NULL one (since the toplevel flag is not yet restored), the second cycle
makes the removed window toplevel again when setting the parent window
to NULL.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
aa787c9dd1 Fixed focus handling on embedded windows.
Now GtkWindow chains up in focus vfuncs when non-toplevel, this
fixes focus in testtoplevelembed.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
387d745e0e Added buttons to notebook tabs in testtoplevelembed
Now you can remove and reembed the toplevels (deleting the
toplevels put them back in the notebook).
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
2dfa855bc4 Moved location of unsetting parent window inside gtk_widget_unparent().
Make sure to do this after the widget is unrealized.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
fdba9f281d Fixed issues with "hierarchy-changed" signal.
GtkFileChooserDefault watches the toplevel and montitors "set-focus"
signal on it... however the connection needs to be remade when the
GtkFileChooserDialog is in an embedded toplevel.

Measure's taken: GtkWindow propagates hierarchy changes when
_gtk_window_set_is_toplevel() is called, gtk_widget_unparent()
unsets the widget's parent window earlier in the function so that
the possible hierarchy change is still able to properly access the hierarchy.

GtkFileChooserDefault checks if the "new" toplevel is indeed
gtk_widget_is_toplevel() but not the old one, GtkRange has been
updated to use gtk_widget_is_toplevel() inside it's hierarhcy_changed
vfunc, other classes already do this properly.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
69b1bfb17b Added tests/testtoplevelembed. 2011-01-06 14:39:40 +09:00
Tristan Van Berkom
addcc64b9c Slightly less special casing in GtkWindow for gtk_widget_is_toplevel()
Also take care of setting the resize-mode at realize time depending
on toplevelness.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
6299f61ee7 Added docs to gtk_widget_set_parent_window.
Also stop setting the resize mode of the window.
2011-01-06 14:39:40 +09:00
Tristan Van Berkom
8b4b62f00c Allow GtkWindow to be parented if gtk_widget_set_parent_window() is called on one
This patch makes gtk_widget_set_parent_window() undo the toplevelness
of a GtkWindow, GtkWindow then realizes itself as a normal child widget
and behaves like a normal GtkBin by checking gtk_widget_is_toplevel() in
several places (show/hide/map/unmap/draw/size_allocate/check_resize/configure_event).
2011-01-06 14:39:40 +09:00
Matthias Clasen
a601b43b83 Cosmetic changes 2011-01-06 00:14:02 -05:00
Tristan Van Berkom
4d8c7c5782 Ensure that GtkIconView items get redrawn when the focus cell changes.
Seems the redraw was not happenning from keynav when set_focus_cell()
was called because keynav already updates the focus-cell. Now we
just unconditionally redraw the focus item when set_focus_cell() is
called.
2011-01-06 13:51:49 +09:00
Tristan Van Berkom
bab0f5a5c1 Fixed GtkIconView keynav
Icon View was not initially setting focus on a cell when
focus initially comes into the view. Focusing into whatever
is the first cell in the cursor item when set_cursor_item
is called with a NULL cell fixes this.
2011-01-06 13:51:49 +09:00
Tristan Van Berkom
b7c25c41d6 Fixed gtkiconview dispose cycle to not fire warnings. 2011-01-06 13:51:49 +09:00
Tristan Van Berkom
56580d1b8b Restored the old GtkIconView guess for wrap-width/width size of text cell
GtkIconView sets the minimum width of the text cell to be at least 50
pixels and otherwise twice the width of the first pixbuf cell found
in the icon list.
2011-01-06 13:51:49 +09:00
Tristan Van Berkom
60e5fcf4db Made GtkIconView reset the context and invalidate all sizes when a row changes.
GtkIconView should have a "grow-only" mode to handle optimization to
only allow icons to grow in width when rows change, however since
GtkIconView still does not handle large numbers of rows for now we'll
just relayout the whole thing whenever a series of rows change.

Also fixed up to watch the context incase of implicit resets.
2011-01-06 13:51:49 +09:00
Tristan Van Berkom
6036c51d52 Removed gtk_icon_view_get_item_area()
Now use a GdkRectangle at the begining of the GtkIconViewItem
structure and just re-cast the struct to get the item area.
2011-01-06 13:51:49 +09:00
Tristan Van Berkom
d0f13ae52c Fixed GtkIconView buildable custom tag end to let cell layout properly
handle <cell-packing>
2011-01-06 13:51:48 +09:00
Tristan Van Berkom
01a35e4483 Added gtk_icon_view_new_with_area() 2011-01-06 13:51:48 +09:00
Tristan Van Berkom
a160358830 GtkIconView now uses a per-row GtkCellAreaContext to store the alignments
of each row.

GtkIconView now properly calculates the height of each row separately
using a separate GtkCellAreaContext stored in an array which it can
always easily index with the item->row index for all purposes.
2011-01-06 13:51:48 +09:00
Tristan Van Berkom
2d5eadb7f9 Alignments with variable row heights almost works perfectly.
However, I'm going to have to figure a way to store the alignments
for rows separately, this may involve using a separate GtkCellAreaContext
for each row, unfortunately.
2011-01-06 13:51:48 +09:00
Tristan Van Berkom
e51592c0b3 Experimenting with allocating the context a different height for each row. 2011-01-06 13:51:48 +09:00
Tristan Van Berkom
c77abe1f83 Committing working version of GtkIconView using GtkCellArea.
Some things still not sorted out, GtkCellAreaContext is not allocated
so icons dont recieve alignments yet, focus navigation is not exactly
what it used to be (maybe we can work around that by observing the
item orientation and explicitly setting focus to the same cell when
navigating in the wrong orientation).
2011-01-06 13:51:48 +09:00
Tristan Van Berkom
951ea857cc Initial messy commit of GtkIconView using GtkCellArea (nothing works yet). 2011-01-06 13:51:48 +09:00
Tristan Van Berkom
6d483ed930 Added GtkCellArea & GtkCellAreaContext to GtkIconView
First commit to icon-view-refactor, essentially only adds the
construct-only "cell-area" property and the context but doesnt
use it.
2011-01-06 13:51:48 +09:00
Szilárd Pfeiffer
8219ed3a26 Add gtk_tree_model_iter_previous() vfunc
https://bugzilla.gnome.org/show_bug.cgi?id=128058
2011-01-05 23:39:11 -05:00
Matthias Clasen
072023e57b Remove deprecated GtkSpinner style properties 2011-01-05 23:21:52 -05:00
Matthias Clasen
2b3b3934a4 Another NEWS update 2011-01-05 21:12:51 -05:00
A S Alam
f4cf52f2cc Translation: update Punjabi 2011-01-06 07:16:05 +05:30
Matthias Clasen
53b67b9a72 Drop the G_SEAL definition from gdkconfig.h
All sealed members removed. Yay!
2011-01-05 19:00:14 -05:00
Benjamin Otte
2e064b3378 tests: Port testsocket example to not use deprecated APIs 2011-01-05 23:50:22 +01:00
Benjamin Otte
8136481d75 tests: Fix compile warnings for people who don't read gcc output. 2011-01-05 23:50:22 +01:00
Benjamin Otte
96091a4d9c adjustment: Privateize sealed members 2011-01-05 23:50:22 +01:00
Benjamin Otte
e1cb1b89d8 testgtk: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
3d3358b561 testgtk: Rename "adj" variables to "adjustment" 2011-01-05 23:50:22 +01:00
Benjamin Otte
b533305728 tests: Update prop-editor adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
d5f7b6cd64 gtk-demo: Undef GDK_DISABLE_DEPRECATED to make test compile 2011-01-05 23:50:22 +01:00
Benjamin Otte
e62b39c921 volumebutton: Update adjustment usage for sealing
Also rename all variables named "adj" to "adjustment", like they're
called everywhere else.
2011-01-05 23:50:22 +01:00
Benjamin Otte
f79c6baa66 scalebutton: Update adjustment usage for sealing
Also rename all variables named "adj" to "adjustment", like they're
called everywhere else.
2011-01-05 23:50:22 +01:00
Benjamin Otte
cc879a6028 textview: Update adjustment usage for sealing
Also rename all variables named "adj" to "adjustment", like they're
called everywhere else.
2011-01-05 23:50:22 +01:00
Benjamin Otte
cd80f49053 tests: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
a41402c455 combobox: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
e4442c010b examples: Update dial adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
c731e1ce0a demos: Update testpixbuf-scale demo for adjustment sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
a28be2cc6c gail: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
801ba1c758 range: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
95e9f4c0c1 range: Rewrite attachment setters to use sealed API 2011-01-05 23:50:22 +01:00
Benjamin Otte
7210e6e1cd viewport: Update adjustment usage for sealing 2011-01-05 23:50:22 +01:00
Benjamin Otte
2b4bb071a3 viewport: Rewrite adjustment modification code for sealing 2011-01-05 23:50:21 +01:00
Benjamin Otte
a317499031 iconview: Update adjustment usage for sealing 2011-01-05 23:50:21 +01:00
Benjamin Otte
aa495f00b4 iconview: Use gtk_adjustment_configure() instead of g_object_set()
Simplifies code quite a bit apart from jsut making it more readable.
2011-01-05 23:50:21 +01:00
Benjamin Otte
3f1a65d6f5 iconview: Use set_[hv]adjustment_values() also when just changing upper
Simplifies the code quite a bit and the code is smart enough to not do
extra work if only one value changes.
2011-01-05 23:50:21 +01:00
Benjamin Otte
1af3a95e8c menu: Update adjustment usage for sealing 2011-01-05 23:50:21 +01:00
Benjamin Otte
8ea3372395 menu: Update adjustment usage for sealing
Call gtk_adjustment_set_value() instead of manually updating the value
in gtk_menu_scroll_to()
2011-01-05 23:50:21 +01:00
Benjamin Otte
f5a3af9b02 scrolledwindow: Update adjustment usage for sealing 2011-01-05 23:50:21 +01:00
Benjamin Otte
76b50a7eae spinbutton: Update adjustment usage for sealing
Also rename all variables named "adj" to "adjustment", like they're
called everywhere else.
2011-01-05 23:50:21 +01:00
Matthias Clasen
14a452ab50 More updates 2011-01-05 16:58:08 -05:00
Matthias Clasen
7799fbf239 Add GtkNumerableIcon
This is a subclass of GEmblemedIcon that can show a number or
short string as an emblem, overlayed on top of another emblem.

Written by Cosimo Cecchi
https://bugzilla.gnome.org/show_bug.cgi?id=637169
2011-01-05 16:33:15 -05:00
Tristan Van Berkom
9a80100e9a Fixed get_size() for GtkCellRendererText to clip to the input area
For ellipsize cells it's important to clip the result of get_size()
so that the returned required rectangle is indeed less than or equal
to the input rectangle... this is done so that GtkCellArea can accurately
paint focus on cells by calling gtk_cell_renderer_get_aligned_area().

Patch also adds assertions to gtk_cell_renderer_get_aligned_area() to
ensure this keeps working correctly.
2011-01-06 02:31:42 +09:00
Matthias Clasen
e41fb7703c Add padding to text attribute structs 2011-01-05 11:28:45 -05:00
Ivar Smolin
3d12aca2f9 [l10n] Updated Estonian translation 2011-01-05 18:14:40 +02:00
Matthias Clasen
67b8f22d8b Remove some dropped symbols from gtk3-sections.txt 2011-01-05 11:01:46 -05:00
Matthias Clasen
3109441c77 Update gtk symbols list 2011-01-05 11:01:45 -05:00
Milan Bouchet-Valat
d7af47d657 Fix doc about gtk_cell_layout_get_area()
Return value was copied and pasted from gtk_cell_layout_get_cells(),
which is obviously wrong.
2011-01-05 16:45:51 +01:00
Milan Bouchet-Valat
ebe9d075f4 Fix GtkCellArea:edit-widget to be of type GtkCellEditable
More correct, and consistent with gtk_cell_area_get_editable_widget().
2011-01-05 16:45:51 +01:00
Matthias Clasen
f377621eb7 Fix libgail-util doc build 2011-01-05 10:12:16 -05:00
Matthias Clasen
680b64d04a Fix some parameter name mismatches in the docs 2011-01-05 10:04:48 -05:00
Matthias Clasen
9f13312520 Fix file lists in the win32 backend 2011-01-05 09:58:46 -05:00
Matthias Clasen
1a8290f92c Update POTFILES some more 2011-01-05 09:43:45 -05:00
Matthias Clasen
57de2c84c4 Try again to fix the doc build 2011-01-05 09:38:36 -05:00
Matthias Clasen
2c9fad9ea8 Update POTFILES 2011-01-05 08:42:57 -05:00
Benjamin Otte
7d94127917 testutils: Update adjustment usage for sealing 2011-01-05 14:36:11 +01:00
Benjamin Otte
58fa980d12 textview: Update adjustment usage for sealing 2011-01-05 14:36:11 +01:00
Benjamin Otte
f65fa81e3a treeview: Update adjustment usage for sealing
Use getters instead of direct structure access.
2011-01-05 14:30:59 +01:00
Benjamin Otte
6ff585e189 treeview: Update adjustment usage for sealing
Use gtk_adjustment_set_upper() instead of doing its work manually.
2011-01-05 14:30:59 +01:00
Benjamin Otte
e93eb20794 treeview: Update adjustment usage for sealing
Use gtk_adjustment_configure() when toggling header visibility.
2011-01-05 14:30:58 +01:00
Benjamin Otte
bb64831987 tests: Update adjustment usage for sealing 2011-01-05 14:30:58 +01:00
Benjamin Otte
79cc672f3f toolitemgroup: Update adjustment usage for sealing 2011-01-05 14:30:58 +01:00
Benjamin Otte
c6697af962 layout: Update adjustment usage for sealing 2011-01-05 14:30:58 +01:00
Benjamin Otte
fdedc8e376 colorsel: Update adjustment usage for sealing 2011-01-05 14:30:58 +01:00
Benjamin Otte
beec484964 toolpalette: Update adjustment usage for sealing 2011-01-05 14:30:58 +01:00
Benjamin Otte
c43a31ea33 API: range: Remove update policy
It's unused and complicates code a lot. In particular, it breaks the
adjustment/range abstractions.
2011-01-05 14:30:58 +01:00
Matthias Clasen
e608cc4eaf Update gtk symbol list 2011-01-04 23:49:01 -05:00
Matthias Clasen
5c1502479a Fix gdk/abicheck.sh temporarily
The best fix for now is to just hardcode the X11 backend again
2011-01-04 23:40:41 -05:00
Matthias Clasen
c4f0bbb130 fix documentation build 2011-01-04 23:15:35 -05:00
Matthias Clasen
9ec7f51ac1 Update NEWS for 2.99 2011-01-04 22:49:54 -05:00
Matthias Clasen
c1773bf240 Bump version to 2.99 2011-01-04 22:01:48 -05:00
Matthias Clasen
369b64b427 Brush up configure output
Show used X extensions, print backends, etc.
Also make configure abort in some more cases when explicitly
enabled options are missing dependencies.
2011-01-04 21:57:21 -05:00
Matthias Clasen
c97652aeb4 Decouple GdkWindowCache life-cycle from GdkX11DragContext
By making window caches refcounted. This fixes problems with leaking
drag contexts, as experienced in
https://bugzilla.gnome.org/show_bug.cgi?id=637691
and
https://bugzilla.gnome.org/show_bug.cgi?id=144324

Based on a patch by drago01@gmail.com
2011-01-04 19:30:04 -05:00
Emilio Pozuelo Monfort
a108b2b08b Fix build when builddir != srcdir 2011-01-04 23:21:36 +00:00
Emilio Pozuelo Monfort
cfc70ca71b Fix introspection build when builddir != srcdir
So gdk/gdk.h can find gdk/gdkconfig.h, which is in $builddir
because it's generated.
2011-01-04 23:21:35 +00:00
Matthias Clasen
2690b8b924 Move GtkEntryCompletion docs inline
Based on a patch by Garrett Regier
https://bugzilla.gnome.org/show_bug.cgi?id=617322
2011-01-04 17:54:47 -05:00
Matthias Clasen
82c9013e01 Add gtkcellrenderer.sgml to .gitignore 2011-01-04 17:52:14 -05:00
Matthias Clasen
e9cc9d5c47 Small doc cleanups for GtkCellLayout 2011-01-04 17:42:30 -05:00
Matthias Clasen
b123bc41fd Move docs for gtkmain inline
At the same time, introduce a gtkmainprivate.h header
and various other cleanups.

Based on a patch by Tadej Borovšak.
https://bugzilla.gnome.org/show_bug.cgi?id=617471
2011-01-04 17:32:12 -05:00
Matthias Clasen
98440ad031 Remove gtktypeutils altogether
Based on patches by Javier Jardón.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2011-01-04 14:51:19 -05:00
Matthias Clasen
1283368b1b Remove GtkArg, GtkCallbackMarshal and GtkFunction
Based on a patch by Javier Jardón.

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2011-01-04 13:49:37 -05:00
Javier Jardón
7e7d8c4ccc Remove deprecated gtk_quit_* API 2011-01-04 13:39:35 -05:00
Matthias Clasen
3e348181ed Move GtkExpander docs inline
Based on a patch by Garrett Regier.

https://bugzilla.gnome.org/show_bug.cgi?id=617327
2011-01-04 13:26:32 -05:00
Matthias Clasen
c770fdd08a Move GtkDrawingArea docs inline
Based on a patch by Garrett Regier.

https://bugzilla.gnome.org/show_bug.cgi?id=617315
2011-01-04 13:26:32 -05:00
Javier Jardón
72161a071f gtkmenuitem: Use private pointer instead G_TYPE_INSTANCE_GET_PRIVATE 2011-01-04 19:00:11 +01:00
Matthias Clasen
deab5ff1c9 Remove gtk_tree_menu_get_type from gtk3.types 2011-01-04 12:54:47 -05:00
Matthias Clasen
c009149670 Move GtkDialog docs inline
Based on a patch by Garrett Regier.

https://bugzilla.gnome.org/show_bug.cgi?id=617312
2011-01-04 12:54:47 -05:00
Javier Jardón
7245ca82f0 gtkmenu: Use private pointer instead G_TYPE_INSTANCE_GET_PRIVATE 2011-01-04 18:46:43 +01:00
Matthias Clasen
b5c6904c2f Drop explicit includes of gdkkeysyms.h
These are no longer needed. At the same time, port gtkimcontextsimpleseqs.h
to use the new GDK_KEY_ symbols.
2011-01-04 12:21:41 -05:00
Matthias Clasen
16877b4d7b Reduce includes of gtktypeutils.h to a minimum 2011-01-04 12:05:05 -05:00
Matthias Clasen
8bdb44fd47 Remove an outdated doc statement.
https://bugzilla.gnome.org/show_bug.cgi?id=553404
2011-01-04 11:55:56 -05:00
Matthias Clasen
e515bd4f71 Some more calendar doc additions
Proposed by Nikos Kouremenos

https://bugzilla.gnome.org/show_bug.cgi?id=321958
2011-01-04 11:44:09 -05:00
Matthias Clasen
336d355c2a Some documentation additions
Proposed by Bruno Piguet.

https://bugzilla.gnome.org/show_bug.cgi?id=559503
2011-01-04 11:36:42 -05:00
Matthias Clasen
bf2a6114ab Mention gvfs in the gtk_show_uri() docs
https://bugzilla.gnome.org/show_bug.cgi?id=622125
2011-01-04 11:25:40 -05:00
Matthias Clasen
ee89c605cf Some documentation improvements for gtk_init/gtk_parse_args
https://bugzilla.gnome.org/show_bug.cgi?id=562182
2011-01-04 11:18:42 -05:00
Matthias Clasen
0a069e1643 Document DESKTOP_STARTUP_ID use
Closes https://bugzilla.gnome.org/show_bug.cgi?id=165987
2011-01-04 10:58:04 -05:00
Szilárd Pfeiffer
f130db44ea gail: add/remove horizontal/vertical state based on orientation value
Now, these states are depending on the widget class.
2011-01-04 10:47:54 -05:00
Milan Bouchet-Valat
52e1722f35 GtkComboBox(Text): Add documentation about the entry 2011-01-04 10:36:08 -05:00
Matthias Clasen
06f6f7bd93 Move GtkEventBox docs inline
At the same time, add a private pointer, and generally clean
things up.
2011-01-04 10:33:33 -05:00
Tristan Van Berkom
68aa336f5f Removed TABs and trailing whitespace from GtkComboBox and GtkTreeMenu 2011-01-05 00:14:25 +09:00
Tristan Van Berkom
f5f822b91c Moved GtkMenuItem private functions to the private header. 2011-01-05 00:14:08 +09:00
Tristan Van Berkom
185744d402 Mentioned that GtkTreeMenu is based on some GtkComboBox code in the copyright header. 2011-01-04 23:37:14 +09:00
Tristan Van Berkom
4ff893979b Fixed conflicts after rebasing master into combo-refactor branch. 2011-01-04 23:37:14 +09:00
Tristan Van Berkom
d681aa7977 Fixed GtkComboBox to properly set tearoff state on delegate GtkTreeMenu.
This breakage was also the cause of not correctly positioning the child
menu over the selected item.
2011-01-04 23:37:13 +09:00
Tristan Van Berkom
80e427c857 Fixed gtktreemenu for new gtkcellareabox api. 2011-01-04 23:37:13 +09:00
Tristan Van Berkom
7b2d6e5cdf Make GtkTreeMenu a private class:
- Removed GtkTreeMenu from gtk-docs.sgml
  - Removed GtkTreeMenu from gtk3-sections.txt
  - Removed GtkTreeMenu from gtk.symbols
  - Make GtkTreeMenu apis prefixed with '_' (including _get_type()).
  - Updated GtkComboBox sources to use the private apis
  - Updated GtkCellView to not mention #GtkTreeMenu in gtk-doc statements
  - Updated tests/testtreemenu to not use a GtkTreeMenu but still
    show a very fancy GtkComboBox
  - Moved gtktreemenu.h to private headers section in the makefile.
  - Removed include of gtktreemenu.h from gtk.h
2011-01-04 23:37:13 +09:00
Tristan Van Berkom
6ae724c0d3 Added LISTMODE env var check to testcombo.c so that one can easily test listmode. 2011-01-04 23:37:13 +09:00
Tristan Van Berkom
57857f13df Added new constructors gtk_combo_box_new_with_area and gtk_combo_box_new_with_area_and_entry. 2011-01-04 23:37:13 +09:00
Tristan Van Berkom
b3ff60db71 Fixed GtkComboBox to let the cell-layout implementation handle <cell-packing> 2011-01-04 23:37:13 +09:00
Tristan Van Berkom
467fb0d7dc Fixed gtk_tree_menu_path_in_menu function which has been malfunctioning.
Now sensitivity is properly handled in the "apply-attributes" callback.
2011-01-04 23:37:12 +09:00
Tristan Van Berkom
01981311da Removed GtkComboBoxPrivate->minimum/natural_width members.
And updated gtk_combo_box_list_position() which is still waiting
for GtkTreeView to report natural width in order to properly do
non fixed width dropdown menus.
2011-01-04 23:37:12 +09:00
Tristan Van Berkom
ee02ac5863 Re-refactored GtkComboBox to not reorder the file.
Turns out reordering the file the way I did before put
me in an unmergable situation, now re-refactored the
combo and list-mode works again.
2011-01-04 23:37:12 +09:00
Tristan Van Berkom
f3de78a023 Fixing GtkComboBox breakage after merge, completing hand-merge of style-context GtkBorder issues (now it works again). 2011-01-04 23:37:11 +09:00
Tristan Van Berkom
0c9c031962 Fixing GtkCellView to not strcmp() in buildable_custom_tag_end()
GtkCellLayout function now returns boolean if one of the tags
it was interested in was handled.
2011-01-04 23:37:11 +09:00
Tristan Van Berkom
85609d124a Added clarification to the GtkCellView:cell-area-context documentation. 2011-01-04 23:37:11 +09:00
Tristan Van Berkom
613545f821 Fixed a broken gtk-doc statement in gtktreemenu.c 2011-01-04 23:37:11 +09:00
Tristan Van Berkom
1f1e94739b Added remaining missing gtk-doc statements for GtkCellView. 2011-01-04 23:37:11 +09:00
Tristan Van Berkom
e8503f600e Added GtkTreeMenu to gtk+ documentation and updated sections for newly added GtkCellView apis. 2011-01-04 23:37:11 +09:00
Tristan Van Berkom
7a673b2ed1 Added all documentation for new GtkTreeMenu 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
f358dfbccc Added new symbols for GtkTreeMenu and added GtkCellView apis to gtk.symbols 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
c8b63bfe03 Removed calls to gtk_cell_area_context_sum_*() since they went away. 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
b57095412b Added aligned food menu test to testcombo.c 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
15ac4be60f Fixed combo-refactor branch for recent switch to gtk_cell_area_context_reset() api. 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
ab3b75aeb1 Adding a combo box to testtreemenu to show the GtkTreeMenu at work as a combo box delegate. 2011-01-04 23:37:10 +09:00
Tristan Van Berkom
1193c30e15 Revert "Added gtk_tree_menu_get_area()."
This reverts commit d32d7c8f9c4d2bcd7c5c206c09273ce67ed20df4.
2011-01-04 23:37:10 +09:00
Tristan Van Berkom
b32ee4fde3 Added orientation control to the treemenu test. 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
bd1b4ddf75 Updated GtkCellView for new gtk_cell_area_context_allocate() api. 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
26a6965d26 Aligned prototypes in gtkcellview.h 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
f101bf4a2d Added gtk_tree_menu_get_area(). 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
2e2eb786d3 Make GtkCellView orientable and only allocate the cell area in the orientable orientation (unless its a "fit-model" cellview which gets both). 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
6ab29f5fd8 Removing apis from GtkCellView
APIS: gtk_cell_view_get_desired_width_of_row &
gtk_cell_view_get_desired_height_for_width_of_row were introduced in
3.0 only for use from GtkComboBox and now the refactored cellview
does this transparently and just requests the right thing through
GtkWidget apis.
2011-01-04 23:37:09 +09:00
Tristan Van Berkom
238bf5cbaa Oops one of my last commits disabled some tests, re-enabling them. 2011-01-04 23:37:09 +09:00
Tristan Van Berkom
caf1d57fd3 Fixed inserting and deleting rows for submenus of GtkTreeMenu 2011-01-04 23:37:08 +09:00
Tristan Van Berkom
4a5be7c74e Getting closer to updating the treemenu view properly from the model signals 2011-01-04 23:37:08 +09:00
Tristan Van Berkom
39cf1576d7 Fixed GtkCellView to always allocate when in fit-model mode. 2011-01-04 23:37:08 +09:00
Tristan Van Berkom
83c69f4cf3 Implementing GtkComboBox using GtkTreeMenu !
First iteration at implementing combo box using a delegate
treemenu, almost everything is working. Still need to finalize
sensitivity issues in GtkTreeMenu (and should go ahead and pass
through GtkComboBox code with a fine comb...).
2011-01-04 23:37:08 +09:00
Tristan Van Berkom
e1ecd34ce1 Added "fit-model" and "draw-sensitive" properties to GtkCellView
- "fit-model" decides that the cellview should request space for
   the entire treemodel, this ensures the cell view displayed on
   a combo box will not spuriously change size when the selected
   item changes.

 - "draw-sensitive" forces cell area to render cells sensitive
   even if they are insensitive in the model.
2011-01-04 23:37:08 +09:00
Tristan Van Berkom
d48690c32c Make GtkTreeMenu update menu item sensitivity when "apply-attributes" signal is fired for a row in the menu. 2011-01-04 23:37:08 +09:00
Tristan Van Berkom
84a726c3ce Support grid mode in GtkTreeMenu
Added properties "wrap-width", "row-span-column" and "column-span-column"
to allow grid style menus from treemodels. Handling row data changes
appropriately.
2011-01-04 23:37:07 +09:00
Tristan Van Berkom
e628345394 Fixed GtkCellView to call cell_view_set_model() and disconnect signals at dispose time. 2011-01-04 23:37:07 +09:00
Tristan Van Berkom
de59f05ccd Added gtk_tree_menu_set/get_tearoff to allow the root menu to have a tearoff item
Combo boxes expose an "add-tearoffs" feature to add a tearoff item to the root of the combo menu, added this feature to GtkTreeMenu to achieve this (and updated the testcase).
2011-01-04 23:37:07 +09:00
Tristan Van Berkom
3a56f8814f Reduced code size in GtkTreeMenu by only implementing GtkCellLayout->get_area method for the GtkCellLayout iface. 2011-01-04 23:37:07 +09:00
Tristan Van Berkom
b6b810ba51 Reduced code in GtkCellView by just implementing the GtkCellLayout->get_area method. 2011-01-04 23:37:06 +09:00
Tristan Van Berkom
438b0f7c9b Connected to GtkTreeModel signals in GtkTreeMenu
Now the GtkTreeMenu properly updates its hierarchy when the underlying
model data changes (row inserted/deleted or reordered). Also some unneeded
hackery was removed, all size calculations are delegated to the cellviews.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
88ec6a62ef GtkCellView now watches the "row-changed" signal.
When the "row-changed" signal on the model is trapped, if the row which
changed is the displayed row then the context is flushed and sizes are
recalculated for every area in the same context.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
9ffaae5022 Added GtkTreeMenuHeaderFunc to decide if a submenu gets a leaf header.
GtkComboBox needs treemenus to allow selection of all leafs including
rows which may have children, this allows the combobox or combobox user
to decide which row that has children can also be selectable as a header
leaf of the submenu. Test case testtreemenu updated to reflect this.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
6d8dfd5546 Fixed GtkCellView to not clear the layout when disposing
The layout belongs the underlying area which may be shared across
views and treemenus, let the cells be destroyed when the area is finally
destroyed.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
53bdca9dae Adding more "small" submenus to testtreemenu 2011-01-04 23:37:06 +09:00
Tristan Van Berkom
1cacae9cc4 Fixed trailing ';' on if statement in gtkmenuitem.c 2011-01-04 23:37:06 +09:00
Tristan Van Berkom
aef55bb629 Added submenus to tests/testtreemenu 2011-01-04 23:37:06 +09:00
Tristan Van Berkom
963db86d23 Fixed GtkTreeMenu to not infinitely recurse when building submenus.
GtkTreeMenu needs to only populate it's submenus when set_root()
is called, we were populating it when the model is set which cause
the tree to be infinitely populated as the root is NULL by default.

Also call gtk_menu_set_reserve_toggle_thingy (FALSE) to not reserve
space for the toggle size.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
c690402446 Fixed GtkMenuItem to reserve the actual arrow size and spacing
GtkMenuItem was reserving arrow size based on it's requested height,
now base the submenu arrow size on the actual arrow size and spacing.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
26c3f1a26d Adding GtkTreeMenu class.
Added GtkTreeMenu class to automatically render
a GtkTreeModel into a GtkMenu hierarchy (will be
used by GtkComboBox for its dropdown menus). Included
an accompanying testcase tests/testtreemenu
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
f15a589651 Added gtk_menu_item_set/get_reserve_indicator.
This is needed by GtkTreeMenu to ensure that child menu items
reserve space for the submenu indicator even if they dont have
submenus... in this way we ensure the same size of all cell
areas in the menu items at allocation/request time.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
5e8e4429c7 Fixing GtkCellView PROP_CELL_AREA_CONTEXT property id
... and renaming some internal variables.
2011-01-04 23:37:06 +09:00
Tristan Van Berkom
988200800c Added gtk_cell_view_new_with_context(). 2011-01-04 23:37:06 +09:00
Tristan Van Berkom
b70589b6a4 Reimplemented GtkCellView using an internal GtkCellArea.
Added construct GtkCellArea and GtkCellAreaContext properties,
the context property allows putting multiple cellviews into the
same size request context.
2011-01-04 23:37:05 +09:00
Tristan Van Berkom
58cdd6d38e Removed GtkMenuItem->show_submenu_indicator flag
The show_submenu_indicator flag was explicitly set in various
places from GtkMenu/GtkMenuBar at request times, since the
GtkMenuItem already checks the parent type for GTK_IS_MENU_BAR()
in various places, removed this flag in favor of just checking
the parent type (only in the interest of better readable code).
2011-01-04 23:37:05 +09:00
Matthias Clasen
7352a166b6 Formatting fixes and whitespace cleanups 2011-01-04 02:21:38 -05:00
Matthias Clasen
32bfc980c1 Remove pack property altogether 2011-01-04 02:06:03 -05:00
Matthias Clasen
723fedef8b Remove pack consideration from tab drawing 2011-01-04 02:03:03 -05:00
Matthias Clasen
4ea886aea1 Don't consider pack when allocating tabs 2011-01-04 01:57:22 -05:00
Matthias Clasen
f9d6bc6cca Drop pack consideration from gtk_notebook_search_page 2011-01-04 01:39:18 -05:00
Matthias Clasen
a7bb193377 Drop internal function to find page position 2011-01-04 01:36:09 -05:00
Matthias Clasen
f838ecf9f0 Remove pack consideration from tab dnd 2011-01-04 01:35:52 -05:00
Matthias Clasen
88501d527d Remove pack consideration from tab reordering 2011-01-04 01:23:05 -05:00
Matthias Clasen
03b37a2e54 Remove pack arguments from some internal functions
This removes pack from gtk_notebook_{set,query}_tab_label_packing.
2011-01-04 01:11:28 -05:00
Matthias Clasen
08a99e9ab3 Remove the deprecated GtkNotebook:tab-pack child property 2011-01-04 00:57:34 -05:00
Matthias Clasen
98b140e7b5 Don't use GtkNotebook:tab-pack in testnotebookdnd 2011-01-04 00:55:50 -05:00
Matthias Clasen
c874bba0e1 GtkNotebook: fix reference to no-longer-exiting function in docs 2011-01-03 22:55:38 -05:00
Matthias Clasen
72b69ae2ed Don't use page_size in GtkSpinButton
It ought to be 0 anyway, but don't use it.

This puts bug 307963 to rest.
2011-01-03 21:51:58 -05:00
Matthias Clasen
a975d62071 Rename gtk-update-icon-cache and gtk-builder-convert back
In bug 635207, it was pointed out that it is a bad idea to
rename these tools purely in the name of parallel-installability,
since it forces dependencies to make a choice between running
gtk-update-icon-cache and gtk-update-icon-cache-3.0 (or both ?!).

So, we rename these utilities back to their un-suffixed names
and rely on distributors to resolve the conflict between GTK+ 2.x
and GTK+ 3.0 packages, which can be done e.g. by dropping the
utilities from the gtk3 packages and add a gtk3 -> gtk2 dependency.
2011-01-03 21:35:23 -05:00
Carlos Garnacho
7266d0f11f Make GtkPathBar use ::style-updated 2011-01-04 03:06:27 +01:00
Carlos Garnacho
c3b5b3531c GtkPaned: Remove unneeded call 2011-01-04 03:06:26 +01:00
Carlos Garnacho
f9a5c14ac0 Make GtkOffscreenWindow use GtkStyleContext 2011-01-04 03:06:26 +01:00
Carlos Garnacho
7e2dea1dff GtkNotebook: remove unneeded call 2011-01-04 03:06:25 +01:00
Carlos Garnacho
61691117dc GtkMisc: Remove unneeded calls 2011-01-04 03:06:24 +01:00
Carlos Garnacho
905604550a Make GtkMessageDialog use GtkStyleContext 2011-01-04 03:06:24 +01:00
Carlos Garnacho
166b709c7f Make GtkLinkButton use ::style-updated 2011-01-04 03:06:23 +01:00
Carlos Garnacho
80e115331c GtkInvisible: Avoid chaining up in ::style-updated 2011-01-04 03:06:22 +01:00
Carlos Garnacho
7b3de2d552 Make GtkHandleBox size request code use GtkStyleContext for padding 2011-01-04 03:06:22 +01:00
Carlos Garnacho
b062a583d3 Make GtkFixed use GtkStyleContext 2011-01-04 03:06:21 +01:00
Carlos Garnacho
14a5c0b9ff Make GtkFileChooser use GtkStyleContext 2011-01-04 03:06:21 +01:00
Carlos Garnacho
8e18c2cfd2 Make GtkFileChooserButton use ::style-updated 2011-01-04 03:06:21 +01:00
Carlos Garnacho
96d8f85dcc Make DnD code use GtkStyleContext for the highlight rectangle. 2011-01-04 03:06:20 +01:00
Carlos Garnacho
e02cbf4770 Make GtkEntryCompletion use GtkStyleContext 2011-01-04 03:06:20 +01:00
Carlos Garnacho
e4c509837f GtkEntry: get font description from GtkStyleContext 2011-01-04 03:06:20 +01:00
Carlos Garnacho
55145e0e4e GtkEntry: Remove unneeded calls 2011-01-04 03:06:19 +01:00
Carlos Garnacho
c180edd80c Make GtkDrawingArea use GtkStyleContext 2011-01-04 03:06:19 +01:00
Carlos Garnacho
552c4c78f6 GtkExpander: remove unneeded call 2011-01-04 03:06:19 +01:00
Carlos Garnacho
6c21f3d8e6 Remove unneeded/deprecated call from size requisition code 2011-01-04 03:06:19 +01:00
Carlos Garnacho
c296d11ac3 GtkToolItem: Remove unneeded call 2011-01-04 03:06:19 +01:00
Carlos Garnacho
be0ebc9f5a Make GtkDialog use ::style-updated 2011-01-04 03:06:18 +01:00
Carlos Garnacho
99791d183c Make GtkCellView use GtkStateFlags 2011-01-04 03:06:18 +01:00
Carlos Garnacho
554e649a68 Make GtkTooltip use GtkStyleContext 2011-01-04 03:06:17 +01:00
Carlos Garnacho
41389cb435 Make GtkWin32EmbedWidget use GtkStyleContext 2011-01-04 03:06:17 +01:00
Carlos Garnacho
665a94e0f3 Make GtkPlug use GtkStyleContext 2011-01-04 03:06:15 +01:00
Carlos Garnacho
81eb953206 Make GtkRecentChooser use GtkStyleContext 2011-01-04 03:06:14 +01:00
Carlos Garnacho
732730425a GtkSeparatorToolItem: remove unneeded call 2011-01-04 03:06:13 +01:00
Carlos Garnacho
ddd12f3f19 Make GtkSocket use GtkStyleContext 2011-01-04 03:06:12 +01:00
Carlos Garnacho
cb21085187 GtkSwitch: remove deprecated call. 2011-01-04 03:06:11 +01:00
Carlos Garnacho
f4cc2c6f17 GtkToolbar: remove deprecated call 2011-01-04 03:06:11 +01:00
Carlos Garnacho
a090de1780 Make GtkToolButton use ::style-updated 2011-01-04 03:06:10 +01:00
Carlos Garnacho
24db0283ad Update GtkTrayIcon to GtkStyleContext 2011-01-04 03:06:10 +01:00
Carlos Garnacho
dd8887c07d Compress all ::style-updated prior to ::realize
This is done to avoid early emission of this signal, that was
causing warnings during GtkDialog construction.
2011-01-04 03:06:09 +01:00
Carlos Garnacho
7981869308 Update GtkAssistant to GtkStyleContext 2011-01-04 03:06:08 +01:00
Carlos Garnacho
00a80c9bdc Update GtkAboutDialog to GtkStyleContext 2011-01-04 02:56:26 +01:00
Carlos Garnacho
804e8a0572 Update GtkToolPalette to GtkStyleContext. 2011-01-04 02:56:26 +01:00
Carlos Garnacho
badbef33ab GtkWindow: remove unneeded call
gtk_widget_style_attach() is no longer necessary.
2011-01-04 02:56:25 +01:00
Diego Escalante Urrelo
d0a3846eb1 gtkenums: add GTK_STATE_FLAG_NORMAL = 0
Allows a more readable omission of GtkStateFlag arguments.

Bug #638608
2011-01-03 20:37:35 -05:00
Matthias Clasen
83058bf2ca Use AM_V_GEN in a few more places
Based on a patch by Javier Jardón in

https://bugzilla.gnome.org/show_bug.cgi?id=621720
2011-01-03 20:33:36 -05:00
Matthias Clasen
411cda4ff4 Keep an explicit dep on cairo in the gdk pc file 2011-01-03 18:12:54 -05:00
Matthias Clasen
86a7ae67bc GtkColorButton: trivial doc and formatting fixes 2011-01-03 17:18:43 -05:00
Javier Jardón
55016f72f2 gtktexttag: Move public members to private header
And fix gail to not poke at GtkTextTag internals
2011-01-03 15:05:46 -05:00
Matthias Clasen
6a11c59290 Release GtkApplication earlier
GtkWindow was only releasing the application in finalize, causing
problems for language bindings. Now we release it already in destroy
(and then again in finalize for good measure).

https://bugzilla.gnome.org/show_bug.cgi?id=638580
2011-01-03 13:11:55 -05:00
Frederic Crozat
b673e5b1ee Scale down print dialog size
Shrink the preview display a little to make the print dialog
fit on a typical netbook screen.

https://bugzilla.gnome.org/show_bug.cgi?id=637958
2011-01-03 12:51:22 -05:00
Matthias Clasen
b555be06b7 Make styleexamples work
If we are keeping this code in source control, might as well
make it work.

https://bugzilla.gnome.org/show_bug.cgi?id=638179
2011-01-03 12:34:23 -05:00
Matthias Clasen
c7f39eb07e add gtk_selection_data_get_data_with_length API which can be bound
* gtk_selection_data_get_data can't be bound because we need to know the length
  of data inorder to marshal it

https://bugzilla.gnome.org/show_bug.cgi?id=635299
2011-01-03 12:13:30 -05:00
Julien Cristau
d211c8af6b gdk/x11: don't select RANDR events if the extension is missing
Prevents an Xlib warning on Xnest, or Xorg with xinerama, or other
non-RANDR-capable xserver.  Reintroduce a have_randr12 field in
GdkDisplayX11 to avoid having to call XRRQuery{Extension,Version} twice,
and don't select randr 1.2 events if that's false.

https://bugzilla.gnome.org/show_bug.cgi?id=634711

Signed-off-by: Julien Cristau <jcristau@debian.org>
2011-01-03 12:13:30 -05:00
Kristian Høgsberg
317f8baf60 configure.ac: Consolidate gdk backend specific checks and code
Only the big chunk of x11 checks is left further down in the file,
but that depends on variables and checks above it, so we'll leave that in
place for now.
2011-01-03 11:59:45 -05:00
Kristian Høgsberg
9c002cf2c1 Silence automake warnings
When commenting out a binary, also comment out the related variables.
Don't include Makefile.decl in gtk-doc Makefile.am's as they disagree
on assigning to EXTRA_DIST.
2011-01-03 11:59:45 -05:00
Kristian Høgsberg
cacee7e7a3 configure.ac: Support multiple GDK backends in one build 2011-01-03 11:59:45 -05:00
Benjamin Otte
ae7e5fc2d1 gdk: Simplify code
Move a previous vfunc into the only caller.
2011-01-03 17:44:24 +01:00
Benjamin Otte
6c39cade16 gdk: Get rid of GdkDisplayDeviceHooks
Move the only user to call the function directly and copy the called
function over.
2011-01-03 17:44:24 +01:00
Benjamin Otte
6e18276f52 gdk: Move get_device_state out of the display hooks
Previous callers now use _gdk_device_query_state() directly.
2011-01-03 17:44:24 +01:00
Benjamin Otte
2267602295 gdk: Simplify code
Fold the previous vfunc into the only caller.
2011-01-03 17:44:24 +01:00
Benjamin Otte
8d2104fdc9 gdk: Move window_get_device_position function out of the device hooks 2011-01-03 17:44:24 +01:00
Matthias Clasen
c07f9c040f Some configure.ac cleanups
Change from --with-xinput to --enable-xinput, and consistently
use AC_HELP_STRING. Also document the packagekit options in the
docs.
2011-01-03 11:29:26 -05:00
Benjamin Otte
d72d19d247 API: gdk: Remove gdk_display_set_device_hooks()
There's no usecase for them, so remove them before we have to commit to
keeping an API.

Make the hooks private for now, actually removing them will come in
followup patches.
2011-01-03 16:51:38 +01:00
Benjamin Otte
ff1ad99dce API: gdk: Remove gdk_display_set_pointer_hooks()
Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that
project is long since dead.

I couldn't find any app using it after asking around and googling either.
2011-01-03 16:35:10 +01:00
Benjamin Otte
36a15720b1 API: gdk: Remove gdk_set_pointer_hooks()
Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that
project is long since dead.

It has been superseded in GTK 2.2 by GdkDisplayPointerHooks anyway.
2011-01-03 16:25:18 +01:00
Benjamin Otte
d1ecd28695 cups: Someone can neither type, read compiler output and run tests.
Being able to do one of these would have caught this.
2011-01-03 16:25:18 +01:00
Matthias Clasen
7537907baf cups printbackend: create a pdf surface when appropriate
This should address bug 560177.
Based on a patch by Adrian Johnson.
2011-01-03 09:34:04 -05:00
Matthias Clasen
a493fad990 Remove gtk_printer_new from gtkprintbackend.h
The function has been in gtkprinter.h forever.
2011-01-03 08:14:34 -05:00
Adrian Johnson
ebcd0ba233 Set file GtkPrinter accepts_pdf/ps based on selected format 2011-01-03 08:14:34 -05:00
Adrian Johnson
856cc65f63 Set "accepts-pdf" property to true only if supported by the print backend 2011-01-03 08:14:34 -05:00
Carlos Garcia Campos
3fff4bd091 GtkRadioButton: Use "radio" style class instead of "check" 2011-01-03 13:09:00 +01:00
Matthias Clasen
83f5e4868c Drop no-longer-used migration docs 2011-01-02 23:57:03 -05:00
Nguyễn Thái Ngọc Duy
cf752786f3 gdkdnd-x11.c: fix building without HAVE_XCOMPOSITE
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2011-01-02 23:40:00 -05:00
Nguyễn Thái Ngọc Duy
98a30bbf3e gdkcursor-x11.c: fix building without HAVE_XCURSOR
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
2011-01-02 23:39:55 -05:00
Matthias Clasen
85fe6cb2c4 Move GtkSpinButton docs inline
...and modernize the examples at the same time.

This fixes a problem pointed out in bug 638193.
2011-01-02 23:30:02 -05:00
Matthias Clasen
1a87dfdf6d Fix list handling in gdk_x1_display_init_input
Pointed out in bug 638386.
2011-01-02 21:41:30 -05:00
Kjartan Maraas
7ee697ab8d Updated Norwegian bokmål translation from Torstein Adolf Winterseth 2011-01-02 19:32:29 +01:00
Kjartan Maraas
8a9457cb80 Updated Norwegian bokmål translation from Torstein Adolf Winterseth 2011-01-02 19:31:56 +01:00
John Ralls
acf13456b1 Fix refresh of static autorelease_pool so that it doesn't happen in gtk-nested loops. 2011-01-02 10:23:20 -08:00
Hans Breuer
23506c0e44 c99ism: declaration in the mid of a block 2011-01-02 13:33:13 +01:00
Hans Breuer
53c1b21ffb win32: disable gdk_display_get_default ()->core_pointer
I neither know how to trigger this code nor what would be
the suggested replacement API. BUt it's the last thing stopping
me to compile GTK3 for win32.
2011-01-02 13:33:12 +01:00
Hans Breuer
5fe027500e win32: include gtkprivate.h for win32 GTK_DATA_PREFIX 2011-01-02 13:33:11 +01:00
Hans Breuer
d4c4db6a7c Avoid C99 sinf() 2011-01-02 13:33:10 +01:00
Hans Breuer
67b4eff921 win32: use GtkSocketPrivate 2011-01-02 13:33:09 +01:00
Hans Breuer
a2b1da064a win32: ported backend specific code to now backend specific API 2011-01-02 13:33:08 +01:00
Hans Breuer
cfeaba9d62 Protect Unix specific print functions with G_OS_UNIX
Although gtk.symbols seems to be unused on Unix now it still
must not contain unprotected Unix only functions, because they
can not be exported on win32.
2011-01-02 13:33:07 +01:00
Hans Breuer
95213b3f04 win32: update msvc build 2011-01-02 13:33:06 +01:00
Hans Breuer
1d838f586c win32: gdk3 resurrection
There are sure regressions but basic stuff seems to be working
again after all the API breakage done with comments like
"Win32 and Quartz need to be ported still."
2011-01-02 13:33:04 +01:00
Hans Breuer
fc122305d0 Protect inclusion of unistd.h 2011-01-02 13:29:23 +01:00
Hans Breuer
cdb998dea6 Fix line endings
The unix version had CrLf which results in modified by checkout
under windows.
2011-01-02 13:08:06 +01:00
Daniel Nylander
54cd607393 Updated Swedish translation 2010-12-31 01:42:34 +01:00
Daniel Nylander
ac8a10f6c4 Updated Swedish translation 2010-12-30 21:15:44 +01:00
Jorge González
3810e4da49 Updated Spanish translation 2010-12-29 22:51:20 +01:00
Fran Diéguez
a6168288f8 Solved bug 638231 in Galician translations 2010-12-29 13:05:44 +01:00
Tristan Van Berkom
c234313a25 Make GtkCheckButton's label left aligned by default.
Since we no longer limit the label's allocation to the minimum, now
we take a saner approach to left aligning the label.
2010-12-29 18:20:32 +09:00
Tristan Van Berkom
a6a97ad442 Fixed unused variable in GtkCheckButton. 2010-12-29 16:30:38 +09:00
Tristan Van Berkom
21aef5b77f Fixed generic height-for-width implementation of GtkBin to consider request adjustments
Since "->adjust_size_request()" was added, it became important for GtkBin's
generic height-for-width implementation to further check the requests
using this vfunc.
2010-12-29 16:26:05 +09:00
Tristan Van Berkom
f519da41cf Make GtkCheckButton allocate all remaining space to it's child instead
of limiting it to it's minimum size.

This fixes height-for-width labels inside a GtkCheckButton, for some
reason GtkCheckButton was limiting the child allocation to the child's
minimum request, probably for the sake of virtual left-alignment of
the child label to be beside the checkmark. This should be done by
other means if nescesarry.
2010-12-29 16:19:48 +09:00
Tristan Van Berkom
2fe4e6a815 Added proper height-for-width implementation to GtkAlignment.
For "padding" cases, it would be ok to fallback on GtkBin class
implementation of height-for-width. However in cases where the
user set's an xscale/yscale the GtkAlignment needs to take care
of properly adjusting the for_size when querying it's child.
2010-12-29 16:18:04 +09:00
Tristan Van Berkom
7fab89d93f Removed checks in gtksizerequest.c
Checks were in place to ensure that widgets never request taller
or wider than screen size. This was there to test a theory about
scrolled window children functioning correctly with dynamic content
however it breaks GtkViewport children which can generally return a
value taller than screen height intentionally, GtkViewport uses this
value to update the adjustments.
2010-12-29 16:12:11 +09:00
Carlos Garnacho
ac00e77e54 Make GtkToolbar use GtkStyleContext 2010-12-28 19:25:49 +01:00
Carlos Garnacho
a3a9c61a5a Make GtkHandleBox use GtkStyleContext 2010-12-28 19:25:49 +01:00
Carlos Garnacho
029fb53ac2 Make GtkSwitch use GtkStyleContext 2010-12-28 19:25:48 +01:00
Carlos Garnacho
18b333bfe7 Make GtkFileChooserEntry make GtkStyleContext 2010-12-28 19:25:48 +01:00
Carlos Garnacho
b2e8992291 Make GtkProgressBar use GtkStyleContext 2010-12-28 19:25:48 +01:00
Carlos Garnacho
e3457a83cf Make GtkScrolledWindow use GtkStyleContext 2010-12-28 19:25:48 +01:00
Carlos Garnacho
53a4feadf0 Make GtkEventBox use GtkStyleContext. 2010-12-28 19:25:47 +01:00
Carlos Garnacho
06462b98a0 Make GtkFrame use GtkStyleContext. 2010-12-28 19:18:57 +01:00
Carlos Garnacho
7a623988e5 Fix leak in GtkStyle. 2010-12-28 19:06:46 +01:00
Tristan Van Berkom
05254766c7 Avoid rendering frames when shadow type argument is GTK_SHADOW_NONE in
gtk_paint_* functions.
2010-12-28 23:15:39 +09:00
Ignacio Casal Quinteiro
9d64a5833d Fix docs. 2010-12-28 11:18:01 +01:00
Matthias Clasen
7032996c76 Remove bashisms from configure.ac
Pointed out by Koop Mast in
https://bugzilla.gnome.org/show_bug.cgi?id=637974
2010-12-27 19:24:05 -05:00
Benjamin Otte
42fbccd3d2 API: gdk: Remove gdk_device_set_source()
The source of a device is not changeable.
2010-12-27 20:08:50 +01:00
Benjamin Otte
e4cc259111 testgtk: Don't use deprecated APIs 2010-12-27 19:43:24 +01:00
Benjamin Otte
7ab7422821 testgtk: Use the relevant device to query the widget to snapshot
Also gets rid of deprecated functions.
2010-12-27 19:27:16 +01:00
Benjamin Otte
9746991548 API: gdk: Make gdk_display_get_window_at_device_position() a device API
It's now called gdk_device_get_window_at_position(). It doesn't make
sense to keep device-specific API part of the display.
2010-12-27 18:46:41 +01:00
Benjamin Otte
0c285341a9 API: gdk: gdk_display_get_device_state() => gdk_device_get_position()
The API was not display-specific, but belonged to the device. Also, we
didn't find a user of the modifier mask, so we dropped it.
2010-12-27 18:46:41 +01:00
Alejandro Piñeiro
586283ecbb [gail] Clean the code to check the redundan object on the show watcher
The watcher doesn't add a window if is a redundant object. This
patch fixes two things:

 * The check was made twice.
 * It uses a check with the string "redundant object", when the
   defined role ATK_ROLE_REDUNDANT_OBJECT is available
2010-12-27 16:23:55 +01:00
Alejandro Piñeiro
e1029b907c [gail] Proper connection to a toplevel window destroy signal
Only connect to the destroy of a toplevel window if it was
really added to the toplevel list of windows.

The destroy callback was added to remove the window from
the toplevel list. The callback doesn't cause a error,
but would iterate on the toplevel list without success.
2010-12-27 13:21:09 +01:00
Matthias Clasen
48b47971b5 Fix some issues with initial setup of GdkX11DisplayManager
We need to defer setting the default display until the
GdkDisplay is fully initialized. Also, short-circuit some
encoding conversions when creating windows, to avoid an
implicit dependency on the display being in the list of
displays yet.
2010-12-27 01:02:52 -05:00
Matthias Clasen
59ea137fa0 GtkTreeView: Don't use deprecated grab api 2010-12-26 23:40:59 -05:00
Matthias Clasen
51f7e42650 Remove pointless sealing from GtkTextMark 2010-12-26 23:17:10 -05:00
Matthias Clasen
0c4a0dae6d Remove pointless sealing from GtkTextChild 2010-12-26 22:58:57 -05:00
Matthias Clasen
9dee9a84d0 Removed sealed members from GtkMenuItem 2010-12-26 22:58:57 -05:00
A S Alam
05eb55dcfc update Punjabi Properities file 2010-12-27 07:30:19 +05:30
Benjamin Otte
45d98d108e tooltip: Don't use deprecated APIs 2010-12-27 01:05:40 +01:00
Benjamin Otte
a5f493bfad notebook: Use nondeprecated API to query coordinates 2010-12-27 00:50:30 +01:00
Benjamin Otte
9bab53f1bd hsv: Fix gcc warnings 2010-12-27 00:45:56 +01:00
Matthias Clasen
5bc0cf1a19 Fix some more typos 2010-12-25 00:29:23 -05:00
Matthias Clasen
8f816d7c3b Fix a few typos 2010-12-25 00:26:22 -05:00
Matthias Clasen
27ce9421d0 Fix up GDK docs 2010-12-25 00:02:39 -05:00
Matthias Clasen
436e75c34c Add deprecation guards for deprecated grab APIs 2010-12-24 20:01:24 -05:00
Matthias Clasen
bde1d072e5 Don't use gdk_{pointer,keyboard}_grab
Instead use gdk_device_grab.
2010-12-24 20:00:19 -05:00
Matthias Clasen
1d41b98cf8 Add deprecation guards for deprecated GdkAppLaunchContext API
Also adapt the docs to not use deprecated API.
2010-12-24 17:37:00 -05:00
Matthias Clasen
1e13b42b9b Avoid some gtk-doc warnings 2010-12-24 17:36:19 -05:00
Matthias Clasen
29eb3fba5f Fix gdk_x11_display_text_property_to_text_list
This was an incomplete attempt to get rid of the custom free function.
Lets just keep it for now. Bug 637849, patch by Dan Winship.

Also add a test case for this function.
2010-12-24 16:27:31 -05:00
Matthias Clasen
92f163d40a Consistently hide class structs
And, since we've decided to keep the structs private, there is
no point in having the standard GObject clas macros anymore either.
2010-12-24 15:54:12 -05:00
John Ralls
806b6dfa08 Rename GdkQuartzWindow.h and .c to GdkQuartzNSWindow.h and .c
Normally HFS+ (the MacOSX file system) isn't case-sensitive, so having both
GtkQuartzWindow.h and gtkquartzwindow.h causes the latter to overwrite the
former during git pull, breaking the build.
2010-12-24 11:29:08 -08:00
Carlos Garnacho
0f0512aee3 Use gtk_style_context_get_font() in GtkSpinButton 2010-12-24 20:20:40 +01:00
Carlos Garnacho
92102c3bf4 Make GtkSeparator use GtkStyleContext 2010-12-24 19:38:14 +01:00
Carlos Garnacho
7c35994bda Make GtkPaned use GtkStyleContext 2010-12-24 19:38:06 +01:00
Carlos Garnacho
760d6d1e78 Do not set "entry" class in spinbutton buttons.
Also, fix an unpaired gtk_style_context_save() call.
2010-12-24 19:37:56 +01:00
Carlos Garnacho
2bd221d215 Bug 637910 - GtkSpinner - does not animate
Fix widget-to-window coordinates translation in the
style context animation code.
2010-12-24 19:37:49 +01:00
Carlos Garnacho
7f099a9a23 Make GtkArrow use GtkStyleContext 2010-12-24 19:37:41 +01:00
Carlos Garnacho
e5e95934ba Fix color name (as of rgb.txt) parsing in symbolic colors
The end of the substring wasn't being detected properly.
2010-12-24 19:37:30 +01:00
Carlos Garnacho
1cecb10584 Make GtkAccelLabel use GtkStyleContext. 2010-12-24 19:37:20 +01:00
Javier Jardón
5e74427dee gailmenushell.c: Fix typo 2010-12-24 18:42:24 +01:00
Javier Jardón
03cddad42b build: Use autoreconf 2010-12-24 18:40:54 +01:00
Kristian Rietveld
c659542333 Check for NULL pointer 2010-12-24 14:45:47 +01:00
Javier Jardón
30cdab13fe docs: Add docs about how to get a GtkDevice
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=637895
2010-12-24 14:39:55 +01:00
Matthias Clasen
55ca24d1d4 Drop GtkThemeEngine
It is not used anymore.
2010-12-23 22:16:50 -05:00
Matthias Clasen
ca493cd20d Fix a few warnings 2010-12-23 22:11:50 -05:00
Matthias Clasen
7ff572dfd3 Add some missing includes 2010-12-23 22:11:28 -05:00
Matthias Clasen
1bcf8a0027 Remove sealed members from GtkSettings 2010-12-23 21:56:50 -05:00
Stef Walter
433a22cd11 Remove private header from gtkwindow.h
https://bugzilla.gnome.org/show_bug.cgi?id=637907
2010-12-23 19:23:48 -06:00
Matthias Clasen
7650482e46 Add sufficient API to make gail work
The accessible implementations should really be folded into
gtk proper. Until that happens, we need some more guts exposed...
2010-12-23 20:11:38 -05:00
Matthias Clasen
2ed81aa57c Remove sealed members from GtkMenuShell 2010-12-23 18:21:53 -05:00
Matthias Clasen
c5b020e628 Remove sealed members from GtkMenu 2010-12-23 15:51:20 -05:00
Jorge Gonzalez
65652d818d Updated Spanish translation 2010-12-23 20:47:02 +01:00
Gheyret T.Kenji
9b6a0a0e2b Added UG translation 2010-12-23 20:17:15 +01:00
Gheyret T.Kenji
80b534561b Added UG translation 2010-12-23 20:11:32 +01:00
Gheyret T.Kenji
4064a100f0 Added UG translation 2010-12-23 19:18:55 +01:00
Matthias Clasen
96d1c2c46e Reserve space for a pointer in GtkDrawingArea
It was pointed out that this will let us add a private pointer
without abi break in the future, should we ever need one.
2010-12-23 13:01:21 -05:00
Matthias Clasen
3e08a23237 Drop long-obsolete linux framebuffer APIs
The functions to set frames on windows stopped being interesting
when the linux framebuffer port was dropped, many years ago.

Similar functionality may come back with client-side decorations
in the future.
2010-12-23 12:59:49 -05:00
Kristian Rietveld
9ab2786991 GtkCellRendererText: use PANGO_PIXELS_CEIL for text_width
Usually pango_layout_get_pixel_extents() is used, which uses
PANGO_PIXELS_CEIL on the rectangle's width.  This commit makes the new
function gtk_cell_renderer_text_get_preferred_width() consistent with
this.

This fixes rounding errors on Mac OS X, where we were seeing tree views
with a double height for a single line of text, while the usual single
row height would have been sufficient.
2010-12-23 18:41:23 +01:00
Kristian Rietveld
31536736ea Hide GtkTreeViewColumn buttons when header_window is not visible 2010-12-23 18:19:56 +01:00
Kristian Rietveld
26173c7864 Delimit the other_entries array 2010-12-23 18:19:55 +01:00
Matthias Clasen
3a6800a898 Some small doc corrections 2010-12-23 11:18:50 -05:00
Matthias Clasen
1f9ce46906 Update keymap docs to match current behaviour
An overlooked API change in the gdk-backend work: many of the
keymap functions used to accept NULL to mean 'default keymap'.
They no longer do, so update the docs to match the new behaviour.
2010-12-23 10:06:08 -05:00
Kristian Rietveld
374f8e22aa quartz: internalize _gdk_quartz_window_set_needs_display_in_region 2010-12-23 14:17:42 +01:00
Kristian Rietveld
f0b8dcb4f3 quartz: move gdkgeometry-quartz into gdkwindow-quartz.c 2010-12-23 14:17:42 +01:00
Kristian Rietveld
deffbd9885 quartz: reorder gdkprivate-quartz.h and related clean up 2010-12-23 14:17:42 +01:00
Kristian Rietveld
ac6f50120b quartz: _gdk_quartz_visual -> gdk_quartz_visual 2010-12-23 14:17:42 +01:00
Kristian Rietveld
1e2907fa02 quartz: _gdk_quartz_screen -> gdk_quartz_screen 2010-12-23 14:17:42 +01:00
Kristian Rietveld
0736544174 quartz: _gdk_quartz_keymap -> gdk_quartz_keymap 2010-12-23 14:17:42 +01:00
Kristian Rietveld
0d8eeb924e quartz: _gdk_quartz_display -> gdk_quartz_display 2010-12-23 14:17:42 +01:00
Kristian Rietveld
07110a6170 quartz: we must provide a window on drag begin now 2010-12-23 14:17:42 +01:00
Kristian Rietveld
0840b25165 quartz: fix some more typos 2010-12-23 14:17:42 +01:00
Kristian Rietveld
1e814709d7 quartz: fix typo 2010-12-23 14:17:41 +01:00
Kristian Rietveld
fb8717f722 quartz: move utils to gdkutils-quartz.c 2010-12-23 14:17:41 +01:00
Kristian Rietveld
f15934bd66 quartz: remove gdkmain-quartz.c 2010-12-23 14:17:41 +01:00
Kristian Rietveld
caa9794af8 quartz: Clean up header files, use same arrangement as X11 backend 2010-12-23 14:17:41 +01:00
Erdal Ronahi
dd5a74dcbc Updated Kurdish translations 2010-12-23 14:14:10 +01:00
Matthias Clasen
af9d59aaca Allow inspection of construct-only object properties
The 'Properties' button here is not really modifying the property
in any way, so it doesn't make sense to disable it just because
the object can only be set at construction.

This lets us poke at e.g. the cell area of an icon view.
2010-12-23 00:43:50 -05:00
Brian Cameron
f90365d46b Fix spacing. 2010-12-22 21:58:40 -06:00
Brian Cameron
e88a44f4c9 Fix bug #637721, fix function prototype. 2010-12-22 21:57:12 -06:00
Matthias Clasen
d77dcfb9b2 Better fix for keynav dnd
With proper rounding, we can go back to a 'small step' of 1.
2010-12-22 22:33:40 -05:00
Matthias Clasen
7e0a30b752 Abort a drag when a keynav drop has not destination
This was claimed to cause problems for Chromium, see bug 599130.

Also work around apparent rounding errors in XIWarpDevice by
setting the 'small step' for keynav dnd to 2 instead of 1 - I notice
that a warp seems to sometimes warp a little less than I tell it to,
and if I tell it to only move by 1 pixel then moving less means
that you are stuck.
2010-12-22 21:47:14 -05:00
Matthias Clasen
9baf24f87e Add a default handler for drag_failed
And use it in notebook dnd.
2010-12-22 18:46:29 -05:00
Matthias Clasen
e6693ab840 Avoid invariant checking spew in gnome-shell
For normal toplevels, visible is tightly bound to mapped, but for
something like a toplevel that exists within a Clutter stage we
may want to make mapping dependenton external factors, so we shouldn't
actually checked that !mapped toplevels are !visible.

Pointed out by Owen Taylor,

https://bugzilla.gnome.org/show_bug.cgi?id=637834
2010-12-22 16:54:52 -05:00
Kristian Rietveld
197590258f quartz: Make keyboard input work again 2010-12-22 22:33:05 +01:00
Kristian Rietveld
48b6b939d3 Implement process_updates_recurse for GdkOffscreenWindow
Makes offscreen windows work again.
2010-12-22 20:41:39 +01:00
Matthias Clasen
03f7e26d26 Don't return PropertyNotify.state as modifier state
It isn't, it really is a GdkPropertyState.

Reported by Tim Janik in bug 633795.
2010-12-22 14:33:09 -05:00
Matthias Clasen
3adb7c7a49 Avoid a crash
pointed out in bug 533745
2010-12-22 14:08:03 -05:00
Javier Jardón
187762d8b3 docs: fix a typo 2010-12-22 17:05:50 +00:00
Kristian Rietveld
083c556e00 quartz: rename GdkDeviceManagerCore -> GdkQuartzDeviceManagerCore 2010-12-22 17:47:05 +01:00
Kristian Rietveld
59a3d9ae46 quartz: Rename GdkDeviceCore -> GdkQuartzDeviceCore 2010-12-22 17:47:05 +01:00
Kristian Rietveld
e2e4391992 quartz: commit forgotten file 2010-12-22 17:47:05 +01:00
Kristian Rietveld
2e7f14c90f quartz: GdkDeviceCore: check for NULL pointer 2010-12-22 17:47:04 +01:00
Kristian Rietveld
32731fcb07 quartz: register before/after process all updates 2010-12-22 17:47:04 +01:00
Kristian Rietveld
ab74358b82 quartz: set all methods on window class, not root window class 2010-12-22 17:47:04 +01:00
Kristian Rietveld
552e7be7e5 quartz: set window_type in display_class 2010-12-22 17:47:04 +01:00
Kristian Rietveld
b0ffe16f90 quartz: introduce GdkQuartzWindow (as a subclass of GdkWindow) 2010-12-22 17:47:04 +01:00
Kristian Rietveld
3bc60a8149 quartz: rename GdkQuartzWindow to GdkQuartzNSWindow 2010-12-22 17:47:04 +01:00
Kristian Rietveld
c6fad1d2cb quartz: fix typo 2010-12-22 17:47:04 +01:00
Kristian Rietveld
c87e878308 quartz: add new files to Makefile.am 2010-12-22 17:47:04 +01:00
Kristian Rietveld
e5695de12b GdkDisplayManager: register Quartz backend when applicable 2010-12-22 17:47:04 +01:00
Kristian Rietveld
5226ae3ecc quartz: create gdkdisplaymanager-quartz.h 2010-12-22 17:47:04 +01:00
Kristian Rietveld
f2883fe8eb quartz: gdkselection-quartz.c: fix typos 2010-12-22 17:47:04 +01:00
Kristian Rietveld
b638515ae0 quartz: re-introduce _gdk_quartz_display_list_devices 2010-12-22 17:47:03 +01:00
Kristian Rietveld
4c663f0474 gdkwindow-quartz: fix typo 2010-12-22 17:47:03 +01:00
Kristian Rietveld
4a6c50c298 gtkclipboard-quartz: use accessors and add missing include 2010-12-22 17:47:03 +01:00
Kristian Rietveld
44d9fb2d71 gtkdnd-quartz: use accessors and add missing include 2010-12-22 17:47:03 +01:00
Kristian Rietveld
7979be1430 quartz: gtkquartz.c: add missing include 2010-12-22 17:47:03 +01:00
Kristian Rietveld
9b4f5a424c gdk: Fix toplevel makefile to build non-x11 backends again 2010-12-22 17:47:03 +01:00
Kristian Rietveld
6b96c56976 quartz: remove duplicate definition of gdk_flush 2010-12-22 17:47:03 +01:00
Kristian Rietveld
8b4d583cd8 quartz: gdkkeys-quartz.c: remove duplicate function 2010-12-22 17:47:03 +01:00
Kristian Rietveld
3d02a14f4f quartz: remove duplicate functions from gdkmain-quartz.c 2010-12-22 17:47:03 +01:00
Kristian Rietveld
fbd9fd6a38 quartz: make gdkwindow-quartz.c build again 2010-12-22 17:47:03 +01:00
Kristian Rietveld
c14078f388 quartz: adapt gdkdisplay-quartz.c to new function names 2010-12-22 17:47:03 +01:00
Kristian Rietveld
5f782ed9e7 quartz: add prototype for _gdk_quartz_screen_new() 2010-12-22 17:47:03 +01:00
Kristian Rietveld
1b344ad8e4 quartz: convert GdkVisual 2010-12-22 17:47:02 +01:00
Kristian Rietveld
d024153c96 quartz: Fix screen implementation, rename to GdkQuartzScreen 2010-12-22 17:47:02 +01:00
Kristian Rietveld
cde6dade8f quartz: Port gdkkeys-quartz.c to new API 2010-12-22 17:47:02 +01:00
Kristian Rietveld
6fe3100f14 quartz: Remove gdkinput code 2010-12-22 17:47:02 +01:00
Kristian Rietveld
e4a0101542 quartz: gdkeventloop-quartz.c: fix 2010-12-22 17:47:02 +01:00
Kristian Rietveld
d0976d9f53 quartz: Fix gdkevents-quartz.c 2010-12-22 17:47:02 +01:00
Kristian Rietveld
b2844cb48b quartz: Make GdkQuartzDisplay compile 2010-12-22 17:47:02 +01:00
Kristian Rietveld
709b4d4346 quartz: Fix display manager, move over code from gdkmain-quartz.c 2010-12-22 17:47:02 +01:00
Kristian Rietveld
988b8bf96a quartz: gdkcursor-quartz.h: fix cut-n-paste error 2010-12-22 17:47:02 +01:00
Kristian Rietveld
98b8bf035f quartz: gdkdevice-core: fix up 2010-12-22 17:47:02 +01:00
Kristian Rietveld
da481666cd quartz: gdkdevice-core.c: use GdkQuartzCursor 2010-12-22 17:47:01 +01:00
Kristian Rietveld
62273fc08a quartz: add forgotten file (gdkdnd-quartz.h) 2010-12-22 17:47:01 +01:00
Kristian Rietveld
f4c0c47a1a quartz: move bits into gdkcursor-quartz.h (private header for now) 2010-12-22 17:47:01 +01:00
Kristian Rietveld
dff3973198 quartz: remove GdkCursorPrivate typedef 2010-12-22 17:47:01 +01:00
Kristian Rietveld
013cbea25f quartz: Remove API for extension checks 2010-12-22 17:47:01 +01:00
Kristian Rietveld
881ea6e06c quartz: convert GdkQuartzWindow to new drag context API 2010-12-22 17:47:01 +01:00
Kristian Rietveld
71404825c3 quartz: fix up GdkDragContext conversion 2010-12-22 17:47:01 +01:00
Kristian Rietveld
8cb301762a Fix typo 2010-12-22 17:47:01 +01:00
Kristian Rietveld
3ace122563 quartz: turn quartz GdkCursor into GObject 2010-12-22 17:47:01 +01:00
Matthias Clasen
bd1ff477ca Deal with property encoding functions for quartz 2010-12-22 17:47:01 +01:00
Matthias Clasen
de41790470 Implement selection related vfuncs for quartz 2010-12-22 17:47:01 +01:00
Matthias Clasen
762548d303 Implement selection owner vfuncs for quartz 2010-12-22 17:47:01 +01:00
Matthias Clasen
547d674ce5 Implement window property vfuncs for quartz 2010-12-22 17:47:01 +01:00
Matthias Clasen
168b3c13b7 Implement keyval vfuncs for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
9ae2dc0deb Drop gdk_set_locale from quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
a1b300ecb6 Implement test vfuncs for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
6eb2a3520c Implement atom-related vfuncs for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
51f149df5e Implement get_keymap vfunc for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
46352afa6f Implement create_window_impl vfunc for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
57efe15bda Drop gdk_spawn functions
These have been removed since the implementation was just
a straight wrapper around g_spawn.
2010-12-22 17:47:00 +01:00
Matthias Clasen
9dbe3bd316 Drop unimplemented foreign window functions
These have been relegated to backend-specific
2010-12-22 17:47:00 +01:00
Matthias Clasen
b2ff02332f Implement event_data_{copy,free} for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
4b92625fe0 Implement notify_startup_complete vfunc for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
2f3c7da763 Remove a duplicate doc comment 2010-12-22 17:47:00 +01:00
Matthias Clasen
1a04631707 Implement get_next_serial for quartz 2010-12-22 17:47:00 +01:00
Matthias Clasen
dadbc63f1e gdk_display_warp_pointer is in the frontend now 2010-12-22 17:46:59 +01:00
Matthias Clasen
a1a0205dad Implment process_updates_recurse vfunc for quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
3232be603a Implement has_pending and queue_events vfuncs for quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
733c8fc8e7 Derive GdkDisplayManager for quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
8a9c604b8a Adapt quartz device code to new ways
We will need to rename the Core implementations in X11/Quartz
to not clash, later.
2010-12-22 17:46:59 +01:00
Matthias Clasen
e2fea748d6 Adapt quartz visual code to new ways
We may still need a subclass here later, not sure
2010-12-22 17:46:59 +01:00
Matthias Clasen
46e8aadaf8 Rename _gdk_dnd_init 2010-12-22 17:46:59 +01:00
Matthias Clasen
25271f5e9a Implement dnd vtables for quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
d2ce9ec3dc Convert a bunch of visual related calls to use the screen vtable, quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
41352f24d6 Convert all GdkScreen methods to vtable calls, quartz backend 2010-12-22 17:46:59 +01:00
Matthias Clasen
f43f259d49 Derive GdkKeymap for Quartz 2010-12-22 17:46:59 +01:00
Matthias Clasen
acd99409b8 Make display method vtable calls, quartz backend 2010-12-22 17:46:59 +01:00
Matthias Clasen
064bfceaad Convert all gdk_window methods to vtable calls in the quartz backend 2010-12-22 17:46:59 +01:00
Matthias Clasen
62cbc1acd4 continue to install gdk-$TARGET-3.0.pc 2010-12-22 11:39:58 -05:00
Matthias Clasen
05b43caf4c Add a section about gdk_spawn to migration guide 2010-12-22 11:13:31 -05:00
Tristan Van Berkom
e20503836c Fixed GtkGrid GtkContainerClass->forall() to not use a for loop.
This loop needs to be safe for removing children in a forall loop.
2010-12-22 21:25:53 +09:00
Matthias Clasen
367211ed7f Document WINDOWING macros 2010-12-22 01:43:57 -05:00
Matthias Clasen
3973ef760e Mention GDK_BACKEND in the docs 2010-12-22 01:32:18 -05:00
Matthias Clasen
fa59cc4652 Fix the X backend docs 2010-12-22 01:31:15 -05:00
Matthias Clasen
a6b05106a5 GtkAboutDialog: Be slightly more flexible when listing credits
Make sure we render credits ok that are occurring in the wild,
such as "Contact us at:", "<foo@bar>" or "guy1\nguy2\nguy3"

https://bugzilla.gnome.org/show_bug.cgi?id=637763
https://bugzilla.gnome.org/show_bug.cgi?id=637736
2010-12-22 01:03:58 -05:00
Matthias Clasen
4cc76927b1 Show translators properly in the new about dialog
translator-credits is a single string, typically with newline-
separated names.
2010-12-22 00:31:05 -05:00
Robert Ancell
2013e23c4b Use getters and setters for GtkPrintJob in gtkprintbackendtest.c 2010-12-22 15:36:47 +11:00
Robert Ancell
f4419be0d6 Fix DSO link issues 2010-12-22 15:01:50 +11:00
Matthias Clasen
e60eff282a Bump version 2010-12-21 20:17:35 -05:00
Matthias Clasen
83364e8529 Fix distcheck 2010-12-21 19:37:18 -05:00
Matthias Clasen
b824cdd6db Fix a blunder in grab handling
This was causing segfaults which would go away when compiled with
debug options.
2010-12-21 18:42:30 -05:00
Matthias Clasen
4b10167ce6 Set a default value for rgba style properties 2010-12-21 18:18:34 -05:00
Matthias Clasen
5b6bdcf016 Fix a tag mismatch in the docs 2010-12-21 18:18:34 -05:00
Mike Gorse
2a324ae304 Fix inclusion of gdkconfig.h 2010-12-21 18:18:07 -05:00
Matthias Clasen
4331d62567 Add gtkselectionprivate.h to Makefile 2010-12-21 17:57:40 -05:00
Matthias Clasen
fcbfa05347 Drop no-longer-existing header from Makefile 2010-12-21 17:36:50 -05:00
Matthias Clasen
3ca69937f4 Don't install headers twice 2010-12-21 16:37:16 -05:00
Matthias Clasen
9cdbb31c06 Update NEWS 2010-12-21 16:25:27 -05:00
Matthias Clasen
7b6d759b04 Temporarily disable combo box entry test
This one got broken by the treeview refactoring, I assume.
2010-12-21 14:43:17 -05:00
Matthias Clasen
940d123de5 Add gdk_disable_multidevice to headers 2010-12-21 14:33:56 -05:00
Owen W. Taylor
a2dddb1da0 Return an appropriate GtkStyle from gtk_rc_get_style_by_paths()
Always returning NULL (no match) from gtk_rc_get_style_by_paths()
means that looking up colors and style properties based on the
GtkStyle will give default values instead of themed values. We can
do better by returning a GtkStyle based on a GtkWidgetPath that we
figure out from the values passed in to get_style_by_paths().

https://bugzilla.gnome.org/show_bug.cgi?id=637520
2010-12-21 14:27:25 -05:00
Matthias Clasen
928fd84ebf Implement some more vfuncs in GdkOffscreenWindow 2010-12-21 14:20:19 -05:00
Matthias Clasen
82fe7594f9 More include shuffling; keep X extension headers to ourselves 2010-12-21 14:17:02 -05:00
Matthias Clasen
10a7f49fe7 Check the right library for symbols 2010-12-21 12:41:29 -05:00
Matthias Clasen
f9e876e265 Fix another typo 2010-12-21 12:32:34 -05:00
Matthias Clasen
b3bd184274 Fix a silly typo 2010-12-21 12:19:03 -05:00
Matthias Clasen
ecddaa7a8e Disable the GtkPlug xi2 hack more thoroughly 2010-12-21 12:07:10 -05:00
Matthias Clasen
106047ffa4 Detangle includes for GdkDeviceManager subclasses 2010-12-21 12:07:10 -05:00
Matthias Clasen
b1aaa10b6a Detangle includes for device subclasses 2010-12-21 12:07:10 -05:00
Matthias Clasen
e5090396bf Forgotten file 2010-12-21 12:07:10 -05:00
Matthias Clasen
bd36374413 Rename GdkAppLaunchContextX11 to GdkX11AppLaunchContext 2010-12-21 12:07:10 -05:00
Matthias Clasen
3fb8c3415b Rename GdkDragContextX11 to GdkX11DragContext 2010-12-21 12:07:09 -05:00
Matthias Clasen
fdfabea958 Don't export gdk_x11_cursor_finalize 2010-12-21 12:07:09 -05:00
Matthias Clasen
71a515ef17 Get abicheck to almost pass again 2010-12-21 12:07:09 -05:00
Matthias Clasen
b4802e3042 Rename x11-specific GdkDevice[Manager] implementations
Make them all fit in the gdk_x11_ prefix, and make the
get_type functions and standard macros available in headers.
2010-12-21 12:07:09 -05:00
Matthias Clasen
5cddc7ccbb Rename GdkDevice[Manager]Core to GdkX11Device[Manager]Core
This is mainly to avoid clash with the classes of the same
name in the quartz backend.
2010-12-21 12:07:09 -05:00
Matthias Clasen
e96c193d06 Rename GdkKeymapX11 to GdkX11Keymap
And add a gdkx11keys.h header file.
2010-12-21 12:07:09 -05:00
Matthias Clasen
146fd989d6 Rename GdkDisplayManagerX11 to GdkX11DisplayManager
And add a gdkx11displaymanager.h header file.
2010-12-21 12:07:09 -05:00
Benjamin Otte
36893a9ef8 gdk: Make GdkWindow abstract
This way backend implementors get an error if they don't set
display_class->window_type to their subclass. And that's exactly what we
want.
2010-12-21 12:07:09 -05:00
Benjamin Otte
dcb03b1085 gdk: Use G_DEFINE_TYPE for GdkWindow 2010-12-21 12:07:08 -05:00
Benjamin Otte
19699989e5 x11: Add a GdkX11Window class for X11 windows 2010-12-21 12:07:08 -05:00
Benjamin Otte
af7afbbe06 gdk: Allow display subclasses to override the type used for windows
We want to have different window types for different displays, so we can
write code like this:

  #if GDK_WINDOWING_X11
    if (GDK_IS_X11_WINDOW (window))
      {
        /* do x11 stuff */
      }
    else
  #endif
  #if GDK_WINDOWING_WAYLAND
    if (GDK_IS_WAYLAND_WINDOW (window))
      {
        /* do wayland stuff */
      }
    else
  #endif
      {
        /* do stuff for unsupported system */
    }

This requires different GdkWindow types and we currently don't have
that, as only the GdkWindowImpl differs. With this method, every backend
defines a custom type that's just a simple subclass of GdkWindow. This
way GdkWindow behaves like all the other types (visuals, screens,
displays) and we can write code like the above.
2010-12-21 12:07:08 -05:00
Benjamin Otte
3036922b3d gdk: Create windows via _gdk_display_create_window()
THe use of this function will become visible in the next commits. But
wrapping g_object_new() is a generally a good idea anyway.
2010-12-21 12:07:08 -05:00
Benjamin Otte
503087dfc9 x11: Export GdkX11Screen 2010-12-21 12:07:08 -05:00
Benjamin Otte
a8b69df376 x11: Rename GdkScreenX11 to GdkX11Screen 2010-12-21 12:07:08 -05:00
Benjamin Otte
b154d3abf6 x11: Export GdkX11Visual 2010-12-21 12:07:08 -05:00
Benjamin Otte
d185987ebd x11: Rename GdkVisualX11 to GdkX11Visual 2010-12-21 12:07:08 -05:00
Benjamin Otte
86e0a9aef7 x11: Have a proper GdkVisualX11Class struct 2010-12-21 12:07:08 -05:00
Benjamin Otte
21d8160c57 x11: Export GdkX11Cursor 2010-12-21 12:07:08 -05:00
Benjamin Otte
4848bf2719 x11: typedef GdkX11Display to GdkDisplay
This is for compatibility reasons. We want to change APIs that operate
on X11 objects to take the X11 objects as arguments. However, this would
break a lot of APIs and we'd like to avoid this, so we play this little
trick (we will use the same trick for the other X11 objects). Also,
gobject-introspection and other bindings can correctly attach the
functions to the correct types as it is the same scheme that GDK2 used
for pixmaps, windows and drawables.

For GTK 4, we will remove this trick, so apps should properly cast their
objects right now.
Unfortunately, I don't think there is a way to use
GDK_DISABLE_DEPRECATED or similar macros to check for proper type casts
while compiling ensure compatibility with future GDK versions. I'm free
to consider them though.
2010-12-21 12:07:07 -05:00
Benjamin Otte
eba4529246 x11: Export GdkX11Display 2010-12-21 12:07:07 -05:00
Benjamin Otte
4db086da4b x11: Rename GdkDisplayX11 to GdkX11Display
Also rename all the macros etc.
2010-12-21 12:07:07 -05:00
Benjamin Otte
8e2240f699 x11: Rename GdkDisplayX11 to GdkX11Display 2010-12-21 12:07:07 -05:00
Benjamin Otte
85bd61778f API: gdk: GDK_DISPLAY_OBJECT() => GDK_DISPLAY()
GDK_DISPLAY_OBJECT is now deprecated. No need to keep failures from
gtk1 around.
2010-12-21 12:07:07 -05:00
Benjamin Otte
04d1459fca x11: Move remaining APIs into gdkx11utils.h
Now gdkx.h is a clean header equivalent to gdk.h.
2010-12-21 12:07:07 -05:00
Benjamin Otte
dd177b5201 x11: Move atom API into gdkx11property.h 2010-12-21 12:07:07 -05:00
Benjamin Otte
ebe46e6f9d x11: Move selection-specific API into gdkx11selection.h 2010-12-21 12:07:07 -05:00
Benjamin Otte
7949073dd5 x11: Move display-specific APIs into gdkx11display.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
6dfa90f57c x11: Move screen-specific API into gdkx11screen.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
0ca6a7ab20 x11: Move visual-specific API into gdkx11visual.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
55f3451754 x11: Move cursor API into gdkx11cursor.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
124cf96850 x11: Split out public window API into gdkx11window.h 2010-12-21 12:07:06 -05:00
Benjamin Otte
66f7c3a562 API: gdk: gdk_display_warp_device() => gdk_device_warp()
warping devices has nothing to do with displays, so putting it there
seems weird.
2010-12-21 12:07:06 -05:00
Benjamin Otte
7a33592231 gdk: Move gdk_cursor_get_image() to the base class
.. and make it call a vfunc on the cursor
2010-12-21 12:07:06 -05:00
Benjamin Otte
60dc856daf x11: Remove duplicated docs
They're in gdk/gdkdisplay.c now.
2010-12-21 12:07:06 -05:00
Benjamin Otte
095d1905a9 x11: Don't keep the display around anymore
Use gdk_cursor_get_display() instead.
2010-12-21 12:07:06 -05:00
Benjamin Otte
4793bd3399 gdk: Move gdk_cursor_get_display() out of the backends
Now that we store the display inside the cursor, that change is obvious.
2010-12-21 12:07:05 -05:00
Benjamin Otte
7a14b30ea3 gdk: Make display a property of GdkCursor 2010-12-21 12:07:05 -05:00
Benjamin Otte
28b2d7e5da gdk: Make cursor-type a property of the cursor 2010-12-21 12:07:05 -05:00
Benjamin Otte
3e068e921f API: gdk: Deprecate gdk_cursor_ref() and gdk_cursor_unref()
Now that GdkCursor is a GObject, it doesn't need custom refcount
handling anymore.
2010-12-21 12:07:05 -05:00
Benjamin Otte
73d8ffd74f testgtk: Use g_object_unref instead of gdk_cursor_unref 2010-12-21 12:07:05 -05:00
Benjamin Otte
e622ae9a68 gtk-demo: Use g_object_unref instead of gdk_cursor_unref 2010-12-21 12:07:05 -05:00
Benjamin Otte
8f1f743903 gtk: Use g_object_unref instead of gdk_cursor_unref 2010-12-21 12:07:05 -05:00
Benjamin Otte
a9637f05b6 gdk: Use g_object_(un)ref instead of gdk_cursor_(un)ref 2010-12-21 12:07:05 -05:00
Benjamin Otte
768b425ce6 x11: Use g_object_(un)ref instead of gdk_cursor_(un)ref 2010-12-21 12:07:04 -05:00
Benjamin Otte
0b4913a166 gdk: Make GdkCursor a GObject
Also port the X11 implementation. Win32 and Quartz need to be ported
still.
2010-12-21 12:07:04 -05:00
Benjamin Otte
66e3894539 gdk: Move GdkCursor definition into a private header 2010-12-21 12:07:04 -05:00
Benjamin Otte
2eef91ad93 x11: Move GdkCursorPrivate into the C file 2010-12-21 12:07:04 -05:00
Benjamin Otte
8e3afc6e5a x11: Use public API to access cursor's xcursor 2010-12-21 12:07:04 -05:00
Matthias Clasen
3d5d558393 Downgrade some Since tags 2010-12-21 12:07:04 -05:00
Matthias Clasen
2650328ea8 Add win32 implementation for foreign window functions 2010-12-21 12:07:04 -05:00
Matthias Clasen
58529e69ec Drop sm_client_id implementation for Quartz 2010-12-21 12:07:04 -05:00
Matthias Clasen
10e23de49e Drop sm_client_id win32 implementation 2010-12-21 12:07:04 -05:00
Matthias Clasen
00e2b949eb Reinstate the correct field value 2010-12-21 12:07:03 -05:00
Matthias Clasen
572bb20011 Deal with property encoding functions
Move everything dealing with compound text to be X11 specific
Only gdk_text_property_to_utf8_list and gdk_utf8_to_string_target
are kept across backends, so add vfuncs for these.

Also, remove the non-multihead-safe variants of all these.
2010-12-21 12:07:03 -05:00
Matthias Clasen
61104d58ea Avoid unnecessary use of gdk conversion routines
We can use use gtk_selection_data_get_uris, instead of
manually doing the conversion ourselves.
2010-12-21 12:07:03 -05:00
Matthias Clasen
05497c799a Add a vfunc for gdk_selection_convert 2010-12-21 12:07:03 -05:00
Matthias Clasen
95868ef00b Add a vfunc for gdk_selection_property_get 2010-12-21 12:07:03 -05:00
Matthias Clasen
625b8305e9 Add a vfunc for gdk_selection_send_notify_for_display 2010-12-21 12:07:03 -05:00
Matthias Clasen
7e22cf7e50 Rename some private x11 backend functions to _gdk_x11 2010-12-21 12:07:03 -05:00
Matthias Clasen
cc03a6df79 Add vfuncs for get/set_selection_owner 2010-12-21 12:07:03 -05:00
Matthias Clasen
519f09f7f4 Add vfuncs for keyval and window property functions
The keyval functions should really be generic, and the window
property api should be completely revisited, but for now this
will allow us to proceed.
2010-12-21 12:07:03 -05:00
Matthias Clasen
fdabc9585d Drop g[dt]k_set_locale
These functions were essentially just calling setlocale anyway.
The X11 version was also setting a gdk_use_mb variable that
is not used anywhere.
2010-12-21 12:07:02 -05:00
Matthias Clasen
2211e52ec5 Don't use gtk_set_locale 2010-12-21 12:07:02 -05:00
Matthias Clasen
afa0ebf36b Add vfuncs for gdk_test apis 2010-12-21 12:07:02 -05:00
Matthias Clasen
28abd0c75f Add vfuncs for atoms 2010-12-21 12:07:02 -05:00
Matthias Clasen
62e9bb06a0 Add a vfunc for gdk_keymap_get_for_display 2010-12-21 12:07:02 -05:00
Matthias Clasen
a97b1891b3 Rename private keymap symbols to _gdk_x11_keymap... 2010-12-21 12:07:02 -05:00
Matthias Clasen
1d5afe4880 Rename the _gdk_xid_table functions 2010-12-21 12:07:02 -05:00
Matthias Clasen
55e1031e84 Remove gdk_net_wm_supports
This function is totally misnamed, only operates on the default
screen, and has a perfectly fine replacement in
gdk_x11_screen_supports_net_wm_hint.
2010-12-21 12:07:02 -05:00
Matthias Clasen
902fd60a86 Remove the --sync commandline option
Remove the --sync option and remove the possibility of backend-specific
commandline options altogether. --sync is being replaced by
a GDK_SYNCHRONIZE environment variable.
2010-12-21 12:07:02 -05:00
Matthias Clasen
b938e71e1d Remove unused _gdk_use_xshm global 2010-12-21 12:07:01 -05:00
Matthias Clasen
021f595a38 Rename _gdk_window_move_resize_child
Rename _gdk_window_move_resize_child and _gdk_window_process_expose
to _gdk_x11.
2010-12-21 12:07:01 -05:00
Matthias Clasen
214342eac5 Clean up gdkx.h a bit
Moving the direct-access redefinitions of various macros
to gdkprivate-x11.h and use that header throughout in x11/.

Also remove a workaround for a long-fixed X server bug.
2010-12-21 12:07:01 -05:00
Matthias Clasen
32e3dcfb47 drop dead function 2010-12-21 12:07:01 -05:00
Matthias Clasen
126212b470 Add a vfunc for _gdk_window_impl_new 2010-12-21 12:07:01 -05:00
Matthias Clasen
d5803fa9b2 Get rid of the _gdk_selection_property global 2010-12-21 12:07:01 -05:00
Matthias Clasen
185cdddb0d Rename _gdk_moveresize functions to _gdk_x11_moveresize 2010-12-21 12:07:01 -05:00
Matthias Clasen
19cf9309a5 Drop gdkx_visual_get
The function is badly named, not multihead-safe, basically unused,
and has a better replacement with gdk_x11_screen_lookup_visual.
2010-12-21 12:07:01 -05:00
Matthias Clasen
e11bbbf194 Rename _gdk_xgrab_ apis to _gdk_x11_window_ 2010-12-21 12:07:01 -05:00
Matthias Clasen
566abbad25 Rename _gdk_send_xevent to _gdk_x11_display_send_xevent 2010-12-21 12:07:00 -05:00
Matthias Clasen
28b7c6f05d Rename _gdk_event_mask_table to _gdk_x11_event_mask_table 2010-12-21 12:07:00 -05:00
Matthias Clasen
985eb14469 Multiple changes to reduce the amount of unprefixed symbols
The X11 backend exports a number of symbols which are _-prefixed
(so don't become part of the gdk api), but are not named in a
way to prevent accidental clashes between backends.

The one API change here is that the gdk_xid_table functions
have been removed - they did not server an purpose, since the
xid table only stores windows anyway, and we already have a
lookup-by-xid function for windows.
2010-12-21 12:07:00 -05:00
Benjamin Otte
33417c36f1 plug: Comment hack for xinput that used private x11 backend API 2010-12-21 12:07:00 -05:00
Matthias Clasen
624dc45755 Move event source apis to gdk_x11
Reduces the changes of cross-backend collisions
2010-12-21 12:07:00 -05:00
Matthias Clasen
25c66c11e2 Remove gdk_spawn functions
These functions were trivial g_spawn wrappers in all backends
except for X11, and they can be easily replaced by
g_app_info_create_for_commandline + GdkAppLaunchContext.
2010-12-21 12:07:00 -05:00
Matthias Clasen
ef85f112da Don't use gdk_spawn
Replace the sole use of gdk_spawn in GTK+ by GAppInfo.
2010-12-21 12:07:00 -05:00
Matthias Clasen
536a7c8abb Work around issues with events without screens
Just use the default display for copy/free of event data.
Maybe the vfuncs should be moved to GdkDisplayManager.
2010-12-21 12:07:00 -05:00
Matthias Clasen
6c16ddc2d3 Make GdkAppLaunchContext work again
We didn't set the display, ever. Add a construct-only property
for this purpose.
2010-12-21 12:07:00 -05:00
Matthias Clasen
fa33839d72 Consistently use per-display error traps in the X11 backend 2010-12-21 12:06:59 -05:00
Matthias Clasen
2d7583c0e3 Make gdk_window_{lookup,foreign_new}_for_display backend specific
At the same time, make GDK_IS_DISPLAY_X11 available in gdkx.h, and
add some exemplaric ifdefs to GTK+ code.
2010-12-21 12:06:59 -05:00
Matthias Clasen
39a71b8831 Add vfuncs for _gdk_windowing_event_data_{copy,free} 2010-12-21 12:06:59 -05:00
Matthias Clasen
968668629b Go back to installing libgdk.so 2010-12-21 12:06:59 -05:00
Matthias Clasen
5eb4506b94 Drop the --screen cmdline argument
Commandline arguments should go away altogether, but this one
goes first, since we then don't need to worry about
_gdk_windowing_substitute_screen_number anymore.
2010-12-21 12:06:59 -05:00
Matthias Clasen
beaa11be98 Add a vfunc for gdk_notify_startup_complete
At the same time, add a display api for this, since it really
is per-display.
2010-12-21 12:06:59 -05:00
Matthias Clasen
a251d3786b Remove sm-client-id related functions from headers 2010-12-21 12:06:59 -05:00
Matthias Clasen
2186203422 Remove unused get_offsets functions from headers 2010-12-21 12:06:59 -05:00
Matthias Clasen
224726f554 Remove gdk_windowing_{get_device_state,window_at_device_position}
The !trusted workaround code is pushed down into the GdkDevice
subclasses, and we use the device vfuncs directly in gdkdisplay.c
2010-12-21 12:06:59 -05:00
Matthias Clasen
9adb974155 Add a vfunc for _gdk_windowing_window_get_next_serial 2010-12-21 12:06:58 -05:00
Matthias Clasen
9635f09623 Move warp functions to the frontend
There were already GdkDevice vfuncs for this.
2010-12-21 12:06:58 -05:00
Matthias Clasen
4a74060d63 Make gdk_set_sm_client_id X11-specific
This is really not a cross-platform API
2010-12-21 12:06:58 -05:00
Matthias Clasen
ccb6edeb8b Add vfuncs for process_updates_recurse and the before and after hooks 2010-12-21 12:06:58 -05:00
Matthias Clasen
da216c0665 Add vfuncs for a bunch of cursor functionality to GdkDisplay 2010-12-21 12:06:58 -05:00
Javier Jardón
dfe6ba932c Don't access GdkDisplay fields directly
Use accessors instead.
2010-12-21 12:06:58 -05:00
Matthias Clasen
ea96e5e16f Explode gdkinternals.h into per-class private headers
At the same time, move some more class and instance structs
out of public headers.
2010-12-21 12:06:58 -05:00
Matthias Clasen
ff8a334725 Hide GdkDevice struct
Once its hidden, we can kill the GdkDevicePrivate struct too.
2010-12-21 12:06:58 -05:00
Matthias Clasen
b5df501296 Move destroy_foreign comment 2010-12-21 12:06:57 -05:00
Matthias Clasen
218fa6757a Weed out no longer needed declarations 2010-12-21 12:06:57 -05:00
Matthias Clasen
5fa8791c86 Add a vfunc for _gdk_events_queue 2010-12-21 12:06:57 -05:00
Matthias Clasen
ec9c97752d Work toward turning GdkDisplayManager into a backend singleton
This commit hides the GdkDisplayManager instance and class structs,
adds vfuncs for listing displays, opening displays, and getting and
setting the default display. The X11 backend has a derived
GdkDisplayManagerX11.

The gdk_display_manager_get() function is responsible for deciding on
which of the compiled in backends to use. Currently, it consults the
GDK_BACKEND environment variable and falls back to x11.
2010-12-21 12:06:57 -05:00
Matthias Clasen
fa4b54b6de Add per-target pc files back
Dropping those will be an unnecessary pain.
2010-12-21 12:06:57 -05:00
Matthias Clasen
9a1cc81acb Add a vfunc to replace _gdk_windowing_window_destroy_foreign
All backends updated.
2010-12-21 12:06:57 -05:00
Matthias Clasen
1e694b4dd8 Add a vfunc for gdk_window_set_composited 2010-12-21 12:06:57 -05:00
Matthias Clasen
7f6ac56e3c Add a vfunc for gdk_window_set_composited 2010-12-21 12:06:57 -05:00
Matthias Clasen
280e8329b4 Match parameters between headers and doc comment 2010-12-21 12:06:57 -05:00
Matthias Clasen
a169f6e32d Make GdkDevice parallel-implementable
Use the grab and ungrab vfuncs from the frontend instead of the
_gdk_windowing wrappers, and move some things around accordingly.
Again, only the X11 backend has been updated, other backends
need to be updated to match.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c7559f57ed Hide GdkScreen too 2010-12-21 12:06:56 -05:00
Matthias Clasen
3412d7a23a Don't access GdkScreen fields 2010-12-21 12:06:56 -05:00
Matthias Clasen
d5c0b92d5d Hide GdkDeviceManager and GdkDeviceManagerClass
And nuke GdkDeviceManagerPrivate at the same time. Again a commit
that only deals with the X11 backend, other backends will need to
catch up.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c6a5074295 Move GdkVisual parallel-implementable
It turned out no vfuncs were necessary. I've decided to move
the screen member up to GdkVisual, since it is the same in all
backends. The X11 backend subclasses now, to add the X members
that it needs to keep track of. GdkVisual and GdkVisualClass
are hidden now.
2010-12-21 12:06:56 -05:00
Matthias Clasen
23a2b42216 Fully initialize the ClientMessage struct
Otherwise we run into warnings from xdnd_status_filter
2010-12-21 12:06:56 -05:00
Matthias Clasen
8e1d320ce9 Rename _gdk_dnd_init
Nonstatic backend-specific functions need an x11 in their name.
2010-12-21 12:06:56 -05:00
Matthias Clasen
c53ec081ce Add vtables for DND
This commit hides GdkDragContext and GdkDragContextClass, adds
vfuncs for most drag context functionality, and turns the X11 DND
implementation into GdkDragContextX11. We also add vfuncs to
GdkDisplay for gdk_drag_get_protocol and to GdkWindow for
gdk_drag_begin, and implemenet them for X11.
Other backends need similar treatment and are broken now.
2010-12-21 12:06:56 -05:00
Matthias Clasen
3c47c8467c Remove some direct access to GdkDragContext members 2010-12-21 12:06:56 -05:00
Matthias Clasen
ae2c3a909c tests: Don't access GdkDragContext fields directly 2010-12-21 12:06:55 -05:00
Matthias Clasen
a843a9d614 Make abicheck work again 2010-12-21 12:06:55 -05:00
Matthias Clasen
06f75b3727 Make GdkAppLaunchContext display-dependent
Add a GdkDisplay::get_app_launch_context vfunc, and a
gdk_display_get_app_launch_context that for X11 returns a subclass.
For win32 and quartz, the implementations were trivial, so we
just return a new GdkAppLaunchContext without subclassing. Since
the type of the context now depends on the display,
gdk_app_launch_context_set_display is deprecated.
2010-12-21 12:06:55 -05:00
Matthias Clasen
de84a7b14f Move gdk_window_lookup to common code 2010-12-21 12:06:55 -05:00
Matthias Clasen
31cd046cd0 Move gdk_add_client_message_filter to common code 2010-12-21 12:06:55 -05:00
Matthias Clasen
8075cfd658 Move gdk_get_display to common code 2010-12-21 12:06:55 -05:00
Matthias Clasen
6465e8dd15 Reorganize pc files for a single library
After this commit, pc files no longer include the gdk backend in
their name, and we no longer install a pc file for gdk. There is
now a single gtk+-3.0.pc file. It turns out a separate gtk+-x11-3.0.pc
file is not necessary, since gdkx.h doesn't have a separate include
directory that would have to be added to Cflags.
2010-12-21 12:06:55 -05:00
Matthias Clasen
07d49ee56a Merge libgdk and libgtk
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
  macros for each included backend, include it in gdk.h and install
  it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
2010-12-21 12:06:55 -05:00
Alexander Larsson
ae146a2817 Convert a bunch of visual related calls to use the screen vtable 2010-12-21 12:06:55 -05:00
Alexander Larsson
f52223f380 Convert all GdkScreen methods to vtable calls 2010-12-21 12:06:54 -05:00
Alexander Larsson
84c03b14e8 Move GdkScreenClass to internal header 2010-12-21 12:06:54 -05:00
Alexander Larsson
8c6162b50c Convert all gdk_keymap methods to vtable calls 2010-12-21 12:06:54 -05:00
Alexander Larsson
4ad948ec4a Move GdkKeymapClass definition to internal header
This lets us change this without affecting apps.
2010-12-21 12:06:54 -05:00
Alexander Larsson
5fda1669ea Make display method vtable calls 2010-12-21 12:06:54 -05:00
Alexander Larsson
f1c32f109d Hide GdkDisplayClass from public header
There is no need for apps to access this class, as its only implemented
in the gdk backends, and we want to be free to change it later.
2010-12-21 12:06:54 -05:00
Alexander Larsson
ac7d55c948 Convert all gdk_window methods to vtable calls 2010-12-21 12:06:54 -05:00
Tristan Van Berkom
49273f2277 Added "fixed-size" cell property to GtkCellAreaBox
Now a cell can either have a "fixed" size or it can have
an "aligned" starting point or both. "fixed" size cells take
no space when they are invisible.
2010-12-22 00:28:18 +09:00
Tristan Van Berkom
c8ae68c33d Fixed gtk_cell_layout_set_cell_data_func() to pass the correct layout object
Added _gtk_cell_area_set_cell_data_func_with_proxy() to be called by
gtk_cell_layout_set_cell_data_func() when the layouting object itself
is not the underlying cell area.
2010-12-22 00:28:18 +09:00
Michael Natterer
13f18567e9 gdk: return 0, not NULL from gdk_device_get_n_axes() 2010-12-21 15:16:35 +01:00
Carlos Garnacho
ac0353e08a Make gtk_style_context_get_* functions more robust
Even if the default CSS contains values for these, handle non-existing
values as queries might happen on an incomplete style.
2010-12-21 14:44:49 +01:00
Jesse van den Kieboom
e36ba3465b Added out annotations for gtk_icon_size_lookup/_for_settings
https://bugzilla.gnome.org/show_bug.cgi?id=637606
2010-12-21 13:24:12 +01:00
Jesse van den Kieboom
939f68a35e Added out annotations for gtk_accelerator_parse
https://bugzilla.gnome.org/show_bug.cgi?id=637606
2010-12-21 13:24:12 +01:00
Yaron Shahrabani
1bb68f0bc5 Updated Hebrew translation 2010-12-21 12:46:41 +02:00
Carlos Garnacho
e02b10046d Ensure widgets get a GtkStyle with its backing GtkStyleContext
Since the default style also has a backing context, it wasn't
being replaced after initialization.
2010-12-21 01:33:51 +01:00
Javier Jardón
33fd2104b7 docs: unmap signal will always be emitted when a widget is unmapped
Since commit 9552152dd9
2010-12-20 23:53:53 +00:00
Matthias Clasen
5c2f407935 Fix problems with window handling in GtkCalendar
After the window removal a while ago, the calendar main window
was not properly moved in size_allocate. Also, we ought to hide/show
the windows in map/unmap, not keep them visible at all times.

Bug 634657
2010-12-20 17:12:02 -05:00
Carlos Garnacho
17e97467df Strengthen checks in functions taking a GdkDevice
Docs have also been improved, to make explicit the device
type/source accepted.
2010-12-20 23:08:10 +01:00
Carlos Garcia Campos
0c518a81b8 printing: Set new print operation settings before emitting custom-widget-apply signal
So that custom settings can be added from the custom-widget-apply
callback.

https://bugzilla.gnome.org/show_bug.cgi?id=637069
2010-12-20 21:10:53 +01:00
Havoc Pennington
9552152dd9 Always emit unmap when a widget is unmapped
Previously, for performance reasons we would sometimes
skip invoking the unmap signal (and associated vfunc)
in favor of simply unrealizing. However, widgets then
had no way to clean stuff up when they were hidden
(but still inside a parent which was shown).

This patch also removes _gtk_tooltip_hide() which
was done in both unmap and unrealize in gtkwidget.c,
now can only be in unmap.

There are probably lots of things cleaned up in
unrealize that would now be better to move to unmap.

https://bugzilla.gnome.org/show_bug.cgi?id=629923
2010-12-20 13:04:45 -05:00
Havoc Pennington
b67c5af55b Add invariant that a child is unmapped if parent is unmapped
Requires fixes to GtkContainer and GtkWindow to unmap their
children, rather than just withdrawing or hiding the container
window.

Requires fix to GtkHandleBox to chain up to GtkContainer unmap.

Historically we avoided these unmaps for efficiency reasons,
but these days it's a bigger problem that there's no way
for child widgets to know that one of their ancestors has
become unmapped.
2010-12-20 12:58:04 -05:00
Havoc Pennington
23ce44c9fe Verify GtkWidget invariants if G_ENABLE_DEBUG is defined
These checks are a bit expensive so require --enable-debug=yes.
gtk_widget_verify_invariants() checks invariants mentioned
in docs/widget_system.txt in particular, and can verify
others in the future.

Some of the invariants in docs/widget_system.txt don't
in fact hold right now, so those are #if 0'd in this
patch pending someone fixing either the docs or the code.
2010-12-20 12:46:51 -05:00
Matthias Clasen
28cc7baef0 Make GtkEntry hide completely
When it was converted to no-window, we forgot to make it hide/show
its input window as necessary.
2010-12-20 12:28:05 -05:00
Matthias Clasen
335bfbc8fc Update GtkAboutDialog documentation
Also, remove some dead code, pointed out in bug 637608.
2010-12-20 11:40:39 -05:00
Carlos Garnacho
33cd32f796 Make gtk_style_new() use a backing GtkStyleContext
Fixes a bug in mutter where it would resort to a dummy style
to get iconview rubberband color.

Reported by Mathieu Bridon in
https://bugzilla.gnome.org/show_bug.cgi?id=637520
2010-12-20 17:18:35 +01:00
Matthias Clasen
5b299ce7af Remove reference to GTK2_RC_FILES from the docs
Pointed out in bug 637471.
2010-12-20 10:23:43 -05:00
Cosimo Cecchi
a5fe3fef7b appchooserdialog: use new GLib API to modify positioning
The dialog will always show up with the last selected application.
2010-12-20 16:08:21 +01:00
Matthias Clasen
183bf8ac9d Use g_strtod when converting strings for GtkCellRendererSpin
These strings are likely user-provided values, so we should
respect locale settings.

Reported in bug 637189.
2010-12-20 10:02:00 -05:00
Matthias Clasen
a9753ef5c6 Add a test for basic style properties 2010-12-20 08:19:23 -05:00
Carlos Garnacho
7030492a3b Disable XI2 in gtk_test_init()
gdk_test_simulate_*() uses XSendEvent, which doesn't currently work
with XI2/GenericEvents, so make tests use core events for the time
being. Luckily there's a lot more to test than low-level event
handling in these tests.
2010-12-20 13:55:38 +01:00
Carlos Garnacho
ca7fe1cb73 GtkStyleProperties: Assign default value for the font property
This fixes a failure when running make test, where style queries
happened before there was even an screen.
2010-12-20 13:55:37 +01:00
Ivar Smolin
3c8076f3dc [l10n] Updated Estonian translation 2010-12-20 13:54:25 +02:00
Javier Jardón
08af2cb488 gail: Fix a typo
This fixes commit d0b81b2148
2010-12-20 11:52:37 +00:00
Baurzhan Muftakhidinov
079b72574a Updates to Kazakh translation 2010-12-20 17:06:25 +06:00
Matthias Clasen
d4e9cd09ab Fix up symbol lists 2010-12-19 23:45:21 -05:00
Javier Jardón
26a304c54b Move GtkSelectionData to a private header 2010-12-19 20:48:20 +00:00
Mahyar Moghimi
39b85421f8 Updating Persian translations (minor change) 2010-12-19 13:42:39 +03:30
Nguyễn Thái Ngọc Duy
75970da97f po/vi.po: import some translations from Ubuntu/Maverick 2010-12-19 16:24:42 +07:00
Yaron Shahrabani
3573179ced Updated Hebrew translation 2010-12-19 09:09:16 +02:00
Javier Jardón
66e7915dc4 gtktreeselection: Move public members to a private structure 2010-12-19 05:01:22 +00:00
Javier Jardón
d0b81b2148 gail: Use accessor functions to access GtkTreeSelection 2010-12-19 04:56:32 +00:00
Javier Jardón
74a7bc3a77 gtk/gtktreeview.c: Use accessor to access GtkTreeSelection 2010-12-19 04:56:32 +00:00
Javier Jardón
e92da3e166 gtkcombobox.c: Use accessor functions to access GtkTreeSelection 2010-12-19 01:27:41 +00:00
Matthias Clasen
1b67d31bd9 Remove G_SEAL from private headers 2010-12-18 17:46:19 -05:00
Matthias Clasen
8105125369 Remove sealed members from GtkPrintJob
Also add accessors for these members, and use them in print backends.
2010-12-18 17:45:31 -05:00
Matthias Clasen
5863382e11 Don't use GtkSocket internals in gail 2010-12-18 17:39:42 -05:00
Matthias Clasen
eb11430228 Fix gdk symbols after recent changes 2010-12-18 17:39:42 -05:00
Matthias Clasen
5ee3a44415 Remove sealed members from GtkSocket 2010-12-18 17:39:41 -05:00
Jorge González
53845f0851 Updated Spanish translation 2010-12-18 14:39:36 +01:00
Carlos Garnacho
56c3d4b1be Remove dead Gtk[Rc]Style code
Most code in gtkrc.c has been turned into a no-op, but that one
reverting in public API (gtk_rc_scanner_new() and such). GtStyle
is also more shallow, now fully relies in the backing
GtkStyleContext and all connection to gtkrc.c has been removed.

GtkBinding has been also affected, there is no replacement yet
for custom keybindings in style files, so that piece of code that
hooked into gtkrc has been replaced by a FIXME so in the future
it may be added back.
2010-12-18 12:10:00 +01:00
Carlos Garnacho
d7dc12d301 Adapt gtk_widget_set_name() docs to style context. 2010-12-18 11:43:37 +01:00
Carlos Garnacho
bbc637f7fd GtkWindow: remove deprecated call.
gtk_style_context_reset_widgets() can be used now to reset all widgets
in a screen.
2010-12-18 11:43:37 +01:00
Matthias Clasen
b45e5fa51e Remove sealed members from GtkTreeModelSort 2010-12-17 23:49:27 -05:00
Matthias Clasen
121746605b Add the private struct in class_init 2010-12-17 21:50:18 -05:00
Matthias Clasen
881ea2881d Remove sealed members from GtkTreeStore 2010-12-17 21:45:20 -05:00
Matthias Clasen
60953ae0f4 Avoid accidental exports 2010-12-17 21:43:42 -05:00
Matthias Clasen
841edfe8c3 Remove an unused pointer from GtkDrawingArea
This is part of removing all sealed members from instance structures.
2010-12-17 20:54:13 -05:00
Matthias Clasen
7b665316cf Hide GtkWindowGroup members
In the process of removing all sealed members from headers.
At the same time, add a gtkwindowprivate.h header and move
all internal functions from gtkwindow.h there.
2010-12-17 20:41:16 -05:00
Matthias Clasen
a2dda0c2bb Trivial changes
Whitespace fixes, comment formatting, etc
2010-12-17 19:14:35 -05:00
Matthias Clasen
453bf477ed Don't query the position of keyboards
Turns out that this causes X errors with the XI2 implementation.
2010-12-17 18:41:24 -05:00
Matthias Clasen
8bc4e13c22 No links in title, please 2010-12-17 18:41:24 -05:00
Colin Walters
d08ff485f2 gdkwindow: Fix event unref iteration
We were double looping previously which caused a NULL deref.
2010-12-17 15:41:15 -05:00
Matthias Clasen
33fb60e050 Fix an escaping problem
& must be escaped as &amp; in examples.
2010-12-17 14:53:43 -05:00
Matthias Clasen
55a0f8700f Another doc format problem 2010-12-17 14:51:53 -05:00
Matthias Clasen
17c7bda6a3 Fix a doc comment format problem
Parameters / enum values come first, then the paragraph.
2010-12-17 14:50:55 -05:00
Matthias Clasen
5627ba161e More parameter name mismatches 2010-12-17 14:49:27 -05:00
Matthias Clasen
9d8682b9ac Fix a few parameter name mismatches 2010-12-17 14:46:18 -05:00
Matthias Clasen
b32f4ae7c4 Add deprecation guards for gtk_icon_set_render_icon 2010-12-17 14:31:44 -05:00
Matthias Clasen
55ffebe505 Avoid a gtk-doc warning 2010-12-17 14:27:48 -05:00
Matthias Clasen
4317ae32c3 Adjust symbol lists in the docs 2010-12-17 14:24:25 -05:00
Cosimo Cecchi
b792a31995 widgetpath: allow GTypes non-derived from GTK_TYPE_WIDGET
This makes things like GtkCellRenderer or GtkNumerableIcon more easily
themeable.

https://bugzilla.gnome.org/show_bug.cgi?id=637169
2010-12-17 18:30:57 +01:00
Colin Walters
806c04411d gdk: Fix GdkWindowFilter internal refcounting
Running gnome-shell under valgrind, I saw the attached invalid write.
Basically we can destroy a window during event processing, and the old
window_remove_filters simply called g_free() on the filter, ignoring
the refcount.  Then later in event processing we call filter->refcount--,
which is writing to free()d memory.

Fix this by centralizing list mutation and refcount handling inside
a new shared _gdk_window_filter_unref() function, and using that
everywhere.

==13876== Invalid write of size 4
==13876==    at 0x446B181: gdk_event_apply_filters (gdkeventsource.c:86)
==13876==    by 0x446B411: _gdk_events_queue (gdkeventsource.c:188)
==13876==    by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410)
==13876==    by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317)
==13876==    by 0x4AB7159: g_main_context_dispatch (gmain.c:2436)
==13876==    by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087)
==13876==    by 0x4AB806A: g_main_loop_run (gmain.c:3295)
==13876==    by 0x8084D6B: main (main.c:722)
==13876==  Address 0x1658bcac is 12 bytes inside a block of size 16 free'd
==13876==    at 0x4005EAD: free (vg_replace_malloc.c:366)
==13876==    by 0x4ABE515: g_free (gmem.c:263)
==13876==    by 0x444BCC9: window_remove_filters (gdkwindow.c:1873)
==13876==    by 0x4454BA3: _gdk_window_destroy_hierarchy (gdkwindow.c:2043)
==13876==    by 0x447BF6E: gdk_window_destroy_notify (gdkwindow-x11.c:1115)
==13876==    by 0x43588E2: _gtk_socket_windowing_filter_func (gtksocket-x11.c:518)
==13876==    by 0x446B170: gdk_event_apply_filters (gdkeventsource.c:79)
==13876==    by 0x446B411: _gdk_events_queue (gdkeventsource.c:188)
==13876==    by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410)
==13876==    by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317)
==13876==    by 0x4AB7159: g_main_context_dispatch (gmain.c:2436)
==13876==    by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087)

https://bugzilla.gnome.org/show_bug.cgi?id=637464
2010-12-17 12:07:37 -05:00
Kristian Rietveld
faf35d708b Fix size allocation for list mode combo box 2010-12-17 16:53:46 +01:00
Kristian Rietveld
21fc66f120 Set cell_view to NULL immediately after unparenting
This way we are sure no invalid pointer will be accessed in between.
2010-12-17 16:53:46 +01:00
Kristian Rietveld
81515f7183 Check if popup_window is mapped, not popup_widget
Before hide_all was used on popup_window, which means popup_widget
was also unmapped.  This is now no longer the case.  This fixes
subsequent pop ups for appears-as-list == 1.
2010-12-17 16:53:46 +01:00
Benjamin Otte
d50c582961 selection: constify GtkSelectionData getters 2010-12-17 16:47:57 +01:00
Carlos Garnacho
2c8c1c6df4 Remove *_set_extension_events() and old API to query devices.
The old functions to get core pointer and devices list are gone as
well. This slice is entirely replaced internally by multidevice
handling and may just go.
2010-12-17 16:25:14 +01:00
Bastien Nocera
23c1d1cbc9 gtk: Add symbolic property for GtkVolumeButton
When the application prefers symbolic icons, avoids
having to reimplement the button in the software itself.

https://bugzilla.gnome.org/show_bug.cgi?id=636969
2010-12-17 13:23:23 +00:00
Kjartan Maraas
668604dcfd Updated Norwegian bokmål translation 2010-12-17 13:09:58 +01:00
Tristan Van Berkom
df0d61e50d Fixed gtk_entry_set_icon_tooltip_text & markup to not crash
Setting this property before the icon is actually set was
resulting in a crash (found by way of Glade bug 606103).
2010-12-17 18:15:08 +09:00
Tristan Van Berkom
b11bb46a76 Fixed parameter names in gtkcellarea.h for gtk-doc parsing. 2010-12-17 15:35:21 +09:00
Tristan Van Berkom
941a0e95d7 Fixed documentation of GtkCellLayout <cell-packing>
Mention that it's safe to use <cell-packing> tag for any GtkCellLayout
in GTK+ since they *all* use an underlying GtkCellArea (at least they
will once the other branches land).
2010-12-17 15:26:28 +09:00
Tristan Van Berkom
71e7cd0ec4 Merge branch 'master' into treeview-refactor
Conflicts:
	tests/testtreeedit.c
2010-12-17 15:25:15 +09:00
Kristian Rietveld
735fa8b197 Avoid recursion in do_validate_rows()
I have never really liked the updates done to the adjustments in
do_validate_rows() and other validation functions.  But it is really
required.  I have to come up with a real solution to this one day.
2010-12-16 23:33:42 +01:00
Kristian Rietveld
88f8859f90 Should pass inner_area to cell in gtk_cell_area_activate_cell() 2010-12-16 22:42:10 +01:00
Kristian Rietveld
e3cab18354 Clip focus rectangle to background area 2010-12-16 12:33:00 +01:00
Kristian Rietveld
c01ad6f615 Fix background area calculation in RTL mode 2010-12-16 12:26:18 +01:00
Javier Jardón
e9a77a1535 docs: gtknotebook.c: Use accessor functions to access GtkSelectionData 2010-12-16 00:16:00 +00:00
Javier Jardón
cf9e9ff47f gtk/gtkclipboard.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
e5a3b7edbf gtk/gtkcolorbutton.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
1a2d9c368e gtk/gtkcolorsel.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
a86d1fa7c3 gtk/gtkdnd.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
499aa2b3b9 gtk/gtkfilechooserbutton.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
c806c0821a gtk/gtkfilechooserdefault.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
fbbe9f5191 gtk/gtkiconview.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
8537163e20 gtk/gtklinkbutton.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:16 +00:00
Javier Jardón
ad4ac2182a gtk/gtknotebook.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
1ceddae7da gtk/gtktextbuffer: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
2b7afcdd79 gtk/gtktextview.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
7c6012d933 gtk/gtktoolpalette.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
640f85e568 gtk/gtktreednd.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
1cfd78269e gtk/gtktreeview.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
a66f095b62 demos/gtk-demo/clipboard.c: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Javier Jardón
7105e8e907 tests: Use accessor functions to access GtkSelectionData 2010-12-15 23:58:15 +00:00
Kristian Rietveld
a28c11a27f Clip to cell_area when rendering cell content
This fixes a GTK+ 3.0 regression.  In GTK+ 2, the render method
on GtkCellRenderer had a expose_area parameter, typically set to
cell_area.  This parameter was used for clipping cell content to be
rendered to the cell area (and thus clipping to within the focus
rectangle).  During the rendering clean up this parameter was removed
and no clipping put back into place.

Since expose_area was usually equal to cell_area anyway, it does not make
sense to reintroduce the expose_area parameter.  Instead, we do clipping at
two levels:
 - in gtk_cell_renderer_render() we clip to background_area.  We cannot
clip to cell_area here because we want to allow cell renderers to
render in the background area (e.g. background color/effect).
 - cell renderers should clip to clip_area when rendering cell
content individually (as they had to individually clip to expose_region
before).
2010-12-16 00:07:08 +01:00
Kristian Rietveld
c8d130efa7 Revisit "Handle clicks in indentation area"
Check (x, y) is inside background area.  If yes, continue processing
and clamp the coordinates into cell area.  This way we will properly
handle getting a cell (which is only used for setting the focus cell)
for clicks in the indentation area (in LTR and RTL mode) and clicks
in the focus rectangle area in case focus-line-width is large.
2010-12-15 23:55:26 +01:00
Jorge González
67f6a43702 Updated Spanish translation 2010-12-15 22:00:00 +01:00
Kristian Rietveld
5399f7b6e6 Make testtreeview handle RTL environment variable for testing 2010-12-15 21:36:47 +01:00
Kristian Rietveld
8e98333d8b RTL fix for gtk_tree_view_focus_to_cursor() 2010-12-15 21:31:35 +01:00
Kristian Rietveld
92e145e719 No need to correct direction for rtl, GtkCellArea takes care of that 2010-12-15 21:27:40 +01:00
Kristian Rietveld
0112c32c5b Make testcellarea handle RTL environment variable for testing 2010-12-15 21:22:35 +01:00
Kristian Rietveld
be39883de2 Correct calculation of the cell focus rectangle
The cell's focus rectangle is located around the cell's aligned area.
To get to the correct coordinates for this rectangle, we have to subtract
focus_line_width from the found aligned_area.
2010-12-15 21:17:27 +01:00
Carlos Garnacho
ec82d133b1 Remove debug messages from GdkDevice 2010-12-15 15:48:43 +01:00
Benjamin Otte
198fc0b774 tests: Hardcode testinput colors instead of trying to use GtkStyle
Makes it work with new themeing APIs.
2010-12-15 14:51:26 +01:00
Benjamin Otte
cae6021d3a tests: Make testiconview-keynav set its custom style using CSS. 2010-12-15 14:51:26 +01:00
Benjamin Otte
1b64655eb6 cssprovider: Explode if we fail to parse the default CSS
This can only happen if somebody really messed up with a checkin, and in
that case we want to explode early.
2010-12-15 14:51:26 +01:00
Benjamin Otte
9e393020c4 gail: Fix for new style code 2010-12-15 14:51:26 +01:00
Benjamin Otte
211ccb5c73 xim: Fix for new style code 2010-12-15 14:51:26 +01:00
Benjamin Otte
d3ed729643 gtkrc: Remove unused code
Makes gcc happy.
2010-12-15 14:51:26 +01:00
Benjamin Otte
e77ce71caa gtk-demo: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:26 +01:00
Benjamin Otte
e274ac4b6c tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:26 +01:00
Benjamin Otte
1312f774f5 tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:26 +01:00
Benjamin Otte
7caec64bc3 tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:26 +01:00
Benjamin Otte
6aa745b819 tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:26 +01:00
Benjamin Otte
b0b9c9683b dnd-quartz: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() 2010-12-15 14:51:25 +01:00
Benjamin Otte
88767b0af7 gdk: Don't use NULL for integers 2010-12-15 14:51:25 +01:00
Florian Müllner
ce5dae6702 Complete renaming of gdk_enable_multidevice()
The function was renamed in commit c4a5c2ed4, but some places were
missed, most notably the public header.
2010-12-15 13:05:11 +01:00
Benjamin Otte
544146b9be size-request: Clamp size requests to screen size
Size requests should only ever need to return the screen's width/height
and max. This way, potentially large widgets (tree view or icon view)
don't need to do so many computations, but can stop when their computed
size has reached the screen size.
2010-12-15 10:41:20 +01:00
Matthias Clasen
208d717fef Optimize gdk_window_set_shape_combine_region
When setting no shape on an unshaped window, nothing changes,
so return early instead of recomputing lots of visibility
information.

Pointed out by Owen Taylor in bug 637156.
2010-12-14 22:21:39 -05:00
Matthias Clasen
b7fd6f1e88 Remove gtk_widget_reset_shapes
See bug 637155.
2010-12-14 22:15:33 -05:00
Carlos Garnacho
f9ed6baeb4 Improve docs for gtk_widget_reset_style().
Document that it may be needed in containers when
children are reordered.
2010-12-15 03:33:01 +01:00
Carlos Garnacho
44a7ef7bec Add gdk_window_[gs]et_source_events()
This function will enable events for all devices of a given
GdkInputSource, either these available at the time of the call,
or these that are connected in the future.
2010-12-15 03:17:59 +01:00
Carlos Garnacho
be7de347bf xi2: Improve device hierarchy handling
The xi2 device manager now handles slaves being detached and/or
attached to a master.

gdk_device_list_slaves() has been added so it is possible to
know how slaves relate with masters. The other backends (X11 and not)
don't neeed to to anything special here since their hierarchy is
fully flat.
2010-12-15 03:17:59 +01:00
Carlos Garnacho
9f41101ccc Emit GdkDevice::changed when the slave device being used changes
When the slave device changes, the master takes the shape of the
new one, modifying its axes, this signal is more useful to catch
this situation than the n-axes property
2010-12-15 03:17:58 +01:00
Carlos Garnacho
f5a20ab65a Add gdk_event_[gs]et_source_device().
This function may be used to know the hardware device that triggered
an event, it could resort to the master device in the few cases there's
not a direct hardware device to relate to the event (i.e.: crossing events
due to grabs)
2010-12-15 03:17:58 +01:00
Carlos Garnacho
c4a5c2ed4b Enable XI2 by default
gdk_enable_multidevice() has been replaced with gdk_disable_multidevice(),
so applications may call that function if they want to go back at the
previous behavior.

There would be usually little reasons to call that function, unless the
application is doing X calls itself that count on old fashioned core
devices.
2010-12-15 03:17:58 +01:00
Carlos Garnacho
66800aa212 Make GtkTextView use GtkStyleContext
GtkTextAppearance still uses GdkColors, even though it could
switch to GdkRGBA with little hassle as it seems sheldomly used
out there.
2010-12-15 03:17:58 +01:00
Diego Escalante Urrelo
b0560107e9 docs: fix link failure on gtk-doc scanner binaries
Bug #637243
2010-12-14 20:31:14 -05:00
Diego Escalante Urrelo
02f92f29d5 gtkstylecontext: fix typos in annotations
Fixes Bug #637256
2010-12-15 00:46:25 +00:00
Benjamin Otte
9929743f24 docs: Redo drawing area drawing docs
They don't seem to have been updated for a long time...
2010-12-14 21:10:22 +01:00
Tristan Van Berkom
8ca6bbbfc0 Make GtkCellArea independantly GtkBuildable.
Simply use the GtkCellLayoutIface hooks for this.
2010-12-14 15:52:40 +09:00
William Jon McCann
96a4fc4e5b Update about dialog design to not use a swarm of dialogs
This is a modernization of the GtkAboutDialog look done
by William Jon McCann. The most noteworthy changes are:
- no more subdialogs
- show license short text in the main dialog
- less verbose email link formatting
- the dialog is modal to its transient parent
2010-12-14 00:15:21 -05:00
Carlos Garnacho
ee31a016ec Make GtkInfoBar use GtkStyleContext
All colors are defined now in the default css, and classes have
been added so the bars are fully themeable (as opposed to
gtk_widget_override_*, which require changing the color map itself)
2010-12-14 02:29:57 +01:00
Carlos Garnacho
fbb75b9b5d Add headers/docs changes for gtk_theming_engine_get_font()
Apparently I didn't git add enough...
2010-12-13 22:42:05 +01:00
Carlos Garnacho
afca06b362 Add getter for font description in GtkThemingEngine
This function is analogous to gtk_style_context_get_font().
2010-12-13 22:31:30 +01:00
Carlos Garnacho
a517cf1bed Make GtkExpander use GtkStyleContext 2010-12-13 22:31:30 +01:00
Carlos Garnacho
89e6cad92f GtkSpinButton: Use GtkStyleContext 2010-12-13 22:31:29 +01:00
Carlos Garnacho
c64a1891f8 Port GtkRange widgets to GtkStyleContext 2010-12-13 22:31:29 +01:00
Carlos Garnacho
3306305fe1 GtkNotebook: Use GtkStyleContext. 2010-12-13 22:31:29 +01:00
Carlos Garnacho
8b8eab1c81 GtkEntry: Use GtkStyleContext. 2010-12-13 22:31:28 +01:00
Carlos Garnacho
618b1a8b33 GtkCssProvider: Make selectors applying from the topmost widget rank higher
For example, for an entry within a notebook, previously these 2 rules would
have the same weight:

.entry {}
.notebook {}

Now ".entry" will rank higher than ".notebook" for the GtkEntry, further
specific selectors such as:

.notebook .entry {}

still get a higher score than the previous ones.
2010-12-13 22:31:28 +01:00
Carlos Garnacho
d80868aa68 GtkThemingEngine: Render tabs background in the correct direction.
The cairo context has been already rotated, so using GTK_JUNCTION_BOTTOM
is expected to be used there.
2010-12-13 22:31:28 +01:00
Carlos Garnacho
2371ed8b87 GtkThemingEngine: handle expander transitions to active, and rtl 2010-12-13 22:31:28 +01:00
Carlos Garnacho
1f697f2695 GtkThemingEngine: remove unused variable 2010-12-13 22:31:27 +01:00
Carlos Garnacho
99f59d8266 Fix coalescing of state animation areas for multiple window widgets.
Coordinates needed to be translated relative to the window position
in within the widget.
2010-12-13 22:31:27 +01:00
Paolo Borelli
f285a84bd6 Add convenience function for the font description. 2010-12-13 22:31:27 +01:00
Tristan Van Berkom
e2c8ecba30 Fixed an error in my last commit in gtk_cell_area_box_context_copy(). 2010-12-13 19:13:43 +09:00
Tristan Van Berkom
623abdedf6 Added gtk_entry_completion_new_with_area() 2010-12-13 15:58:07 +09:00
Tristan Van Berkom
96d636a780 Updated some docs and gtk.symbols file for new apis
Added gtk_cell_area_context_get_preferred_height_for_width and
width_for_height & gtk_cell_area_copy_context() to gtk.symbols
and gtk3-sections.txt (also finished up documenting those apis).
2010-12-13 15:43:58 +09:00
Tristan Van Berkom
41cd9d1394 Fixed gtk_cell_area_box_context_copy() to also copy it's allocations. 2010-12-13 15:37:12 +09:00
Kristian Rietveld
d743ecf82e Handle clicks in indentation area
For this case, we want to set focus on the first cell in the column.
2010-12-12 17:32:59 +01:00
Tristan Van Berkom
2e1e97305f Make GtkTreeView explicitly focus the first cell in the first column when grabbing focus
When focus is initially grabbed and there is no focus column, when selecting
the first column for focus, further explicitly focus into the first cell
using gtk_cell_area_focus().
2010-12-12 17:21:28 +01:00
Tristan Van Berkom
31226ebfb2 Fixed GtkTreeView to give focus back to the last focued cell when hitting
the edge.

When focusing left/right or up/down inside GtkCellArea, now we save what
was the last focused cell and if we hit the side (or top or bottom) of
the view we then restore focus to the last focused cell.
2010-12-12 17:21:28 +01:00
Tristan Van Berkom
7e526d57f0 Add an editable cell to testverticalcells showing functional vertical focus navigation. 2010-12-12 17:21:28 +01:00
Tristan Van Berkom
632f1f3ac4 Modified gtk_tree_view_move_cursor_up_down to move focus inside the cell area
This currently leaves us the problem of maintaining the right cell in
focus for horizontal areas, the solution for that comming in the
next patch.
2010-12-12 17:21:28 +01:00
Tristan Van Berkom
2752fd0f16 Removing gtk_tree_view_move_focus_column() and only calling gtk_cell_area_focus()
This function did alot of nothing, gtk_cell_area_focus() simply returns whether
the focus stays in the area (column) or not, seems not to cause regressions to
just call it directly instead.
2010-12-12 17:21:28 +01:00
Tristan Van Berkom
0431dd67f8 Added apis to GtkCellArea for GtkIconView purposes.
Added a few apis,

  - GtkCellAreaContext get_preferred_height_for_width &
    width for height apis and vfuncs, this lets the icon view
    request the collective (and aligned) height for width for
    a said row.

  - gtk_cell_area_copy_context() this creates a duplicate of
    an already created and requested context, this way the icon
    view uses a global context to request the widths of all rows
    and then makes a copy with all the stored alignments and
    uses a separate copy to calculate the height and alignments
    of each row separately.
2010-12-13 00:29:21 +09:00
Kristian Rietveld
ff39c76bfd Welcome _gtk_tree_view_column_get_cell_at_pos to the second dimension 2010-12-12 15:22:49 +01:00
Kristian Rietveld
cbfc3f5bf0 Make gtk_tree_view_get_cell_area() aware of row separators 2010-12-12 15:09:27 +01:00
Kristian Rietveld
8c743a0363 Add unit test for row separator height 2010-12-12 15:03:33 +01:00
Kristian Rietveld
d142d8bb6c Do not enforce a minimum of expander_size in gtk_tree_view_get_row_height
Instead this is now enforced in gtk_tree_view_get_cell_area_height().
There are rows for which a height in between 0 and expander_size is
allowed, for example separator rows.
2010-12-12 14:34:26 +01:00
Tristan Van Berkom
1c8093b65e Fixed some glitches in GtkCellAreaBox keynav from my last commit. 2010-12-12 20:40:34 +09:00
Tristan Van Berkom
89b3700b78 Make GtkCellAreaBox remember what was the last focus cell so that when
cycling focus from row to row for a horizontal area we can remember
where focus was the last time around.
2010-12-12 20:40:26 +09:00
Tristan Van Berkom
2f4e451075 Added "edit_only" argument to gtk_cell_area_activate()
This argument allows the caller to specify that only an editable
cell should start editing but an activatable cell should not toggle
it's state, this is important for public apis like
gtk_tree_view_set_cursor_on_cell() which are only intended to
programatically bring attention to the editing of a specific
row or cell but not actually change any data.

GtkTreeView & CellAreaScaffold updated for the last minute api change.
2010-12-12 17:15:46 +09:00
Tristan Van Berkom
46c49ee260 Removed the resetting_context flag from GtkTreeViewColumn private data
No longer need to detect if we're currently resetting the context since
the context properly now avoids re-triggering the reset by properly
avoiding to notify properties that dont change as a result of the reset.
2010-12-12 16:43:07 +09:00
Tristan Van Berkom
fa71b24e9a Fixed gtk_cell_area_context_real_reset() to only notify properties if they change. 2010-12-12 16:42:37 +09:00
Milan Bouchet-Valat
029083454b [GtkComboBoxText] Add checks for id-column/entry-text-column >= 0
If the GtkComboBoxText doesn't have id-column or entry-text-column
set for some reason (value -1), better warn and return. Else, unrelated
assertions fail, and warnings from gtk_tree_model_get_column_type()
are printed, which are not really obvious.

https://bugzilla.gnome.org/show_bug.cgi?id=637018
2010-12-11 19:10:51 +01:00
Matthias Clasen
3b90d877b7 Remove unused header 2010-12-10 23:39:10 -05:00
Matthias Clasen
948ab1a168 Don't access GdkVisual fields directly
Use accessors instead.
2010-12-10 02:32:18 -05:00
Matthias Clasen
83204928b9 Don't access GdkDragContext fields directly
Instead use the accessors.
2010-12-10 00:59:07 -05:00
Matthias Clasen
fe5e0e4502 Add some forgotten accessors for GdkDragContext
These fields are accessed in gtk.
2010-12-10 00:58:33 -05:00
Martyn Russell
bb87eada6b gtksearchenginetracker: Update to work with libtracker-sparql
libtracker-sparql is available in Tracker 0.9/0.10
2010-12-09 23:53:51 +00:00
Benjamin Otte
ddb5e12e61 docs: Reinstate pixbufs section in GDK docs
It was accidentally removed in 0775b0a858
2010-12-09 23:56:25 +01:00
Benjamin Otte
3070d6e3d5 Revert "docs: Reinstate pixbufs section in GDK docs"
I committed my whole working tee instead of just one file. Ooops.
This reverts commit ded14b2562.
2010-12-09 23:55:33 +01:00
Benjamin Otte
ded14b2562 docs: Reinstate pixbufs section in GDK docs
It was accidentally removed in 0775b0a858
2010-12-09 11:14:21 +01:00
Tristan Van Berkom
95ca1e241c Removed calculation of background area when about to edit a cell (no need to check the background area of the cell in this case). 2010-12-09 13:59:17 +09:00
Tristan Van Berkom
32d9396f00 Changed misleading variable name in gtk_cell_area_real_activate. 2010-12-09 13:59:04 +09:00
Guillaume Desmottes
107cebe546 gtk_css_provider_get_named: don't leak subpath (#636777) 2010-12-08 21:13:03 -05:00
Matthias Clasen
05abea6c4f Add missing include
See bug 636732
2010-12-08 11:49:48 -05:00
Marek Kasik
da85312097 Mark conflicts when printer has changed
Schedule marking of conflicts when printer has changed.
Map conflict warning immediately. (#635401)
2010-12-08 17:37:27 +01:00
Carlos Garcia Campos
24e832187f GtkCellRendererPixbuf: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:16:02 +01:00
Carlos Garcia Campos
e779b8f249 GtkIconFactory: mention gtk_widget_render_icon_pixbuf() in docs
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:15:25 +01:00
Carlos Garcia Campos
3a3a4e8f3b GtkStatusIcon: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:14:48 +01:00
Carlos Garcia Campos
2dde04140d GtkImage: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:13:43 +01:00
Carlos Garcia Campos
e2100b13d0 GtkFileChooser: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:12:59 +01:00
Carlos Garcia Campos
a5dba1670e GtkEntry: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:12:14 +01:00
Carlos Garcia Campos
8017092977 dnd: Use gtk_widget_render_icon_pixbuf()
Instead of gtk_widget_render_icon() which is now deprecated.
2010-12-08 17:10:34 +01:00
Carlos Garcia Campos
5582bd23fb Add gtk_widget_render_icon_pixbuf() prototype to gtkwidget.h
And move gtk_widget_render_icon() to deprecation guards block
2010-12-08 16:46:57 +01:00
Paolo Borelli
61731c65aa Annotate ColorButton get_color and get_rgba. 2010-12-08 15:30:42 +01:00
Paolo Borelli
f5d7a63aff Fix gtk_builder_add_objects_from_file g-i annotation
Use the same annotation already used for add_objects_from_string
2010-12-08 15:15:50 +01:00
Tristan Van Berkom
f1c26dfdb2 Fixed gtk-docs typo in gtkcellarea.c 2010-12-08 22:31:33 +09:00
Tristan Van Berkom
40e9f91f43 Fixed foreach_alloc call from gtk_cell_area_real_render to pass the real background area. 2010-12-08 21:27:52 +09:00
Tristan Van Berkom
34f4b5c190 Added 'background_area' calculation to GtkCellAreaClass->foreach_alloc vfunc
This allows us to reduce code allocation code paths in subclasses, as
a result GtkCellArea implements the ->render() vfunc and the subclass
only decides the cell area and background area distributions in a single
code path.
2010-12-08 21:18:05 +09:00
Robert Ancell
6188ea608f Add missing X11/Xlib.h include required for X11/extensions/sync.h 2010-12-08 18:44:20 +11:00
Tristan Van Berkom
a47a557fc3 Merge branch 'master' into treeview-refactor 2010-12-08 15:24:49 +09:00
Milan Bouchet-Valat
13209a9a6c More annotations for GdkDisplay
Mostly (out), and a few (allow-none) for parameters.
2010-12-07 19:12:57 +01:00
Matthias Clasen
38321eacbf GtkStyleContext migration guide tweaks
Move the guide into the 2-to-3 guide, since it is something
you have to do when porting from 2 to 3. Also add an example
for handling of temporary state changes and some more text
about color handling.
2010-12-07 12:59:17 -05:00
Matthias Clasen
5ac194c2d7 Some doc additions 2010-12-07 09:55:30 -05:00
Tristan Van Berkom
fc5cabba90 Added minimum size parameter to GtkWidgetClass->adjust_size_allocation.
This allows us to add a check before executing
->get_preferred_height_for_width() to ensure we always
request for at least the minimum required size (and lets
us remove the warning in gtkcontainer.c telling implementors
to do this check manually from thier container implementations).
2010-12-07 23:47:40 +09:00
Cosimo Cecchi
503be10148 label: plug a memory leak 2010-12-07 10:13:32 +01:00
Cosimo Cecchi
6f67f5281f app-chooser-widget: plug a memory leak 2010-12-07 10:08:47 +01:00
Tristan Van Berkom
5fef00de2c Adding gtk_tree_view_column_new_with_area to gtk.symbols and gtk3-sections.txt. 2010-12-07 17:04:04 +09:00
Tristan Van Berkom
1b33698384 Revert "Temporary fix to make separator rows request enough space for the expander size."
This reverts commit 515af9ce70.
2010-12-07 14:09:26 +09:00
Tristan Van Berkom
515af9ce70 Temporary fix to make separator rows request enough space for the expander size.
This fix is incorrect, treeviews dont rely on the expander size for drawing
separator rows (added XXX comment in line), need to fix this somewhere else
2010-12-07 13:52:31 +09:00
Tristan Van Berkom
97e060b094 Fixed my mistake in validate_row (), now the height of treeviews in GtkEntryCompletion is correct again. 2010-12-07 13:52:18 +09:00
Matthias Clasen
509e0423e1 Bump version 2010-12-06 20:37:30 -05:00
Matthias Clasen
fae1e74812 More !srcdir fixes for the stylecontext test 2010-12-06 19:05:18 -05:00
Matthias Clasen
26f6b48ccb Update for the removal of gtk_decorated_window_ apis 2010-12-06 17:44:12 -05:00
Matthias Clasen
fe008de12c Fix POTFILES for recent changes 2010-12-06 14:35:13 -05:00
Matthias Clasen
f2ab9e497d Prepare the stylecontext test to run out-of-srcdir
This is necessary to make distcheck work.
2010-12-06 14:13:07 -05:00
Matthias Clasen
ad80cb6279 Allow + in identifiers
This is necessary since we treat paths as identifiers in
@import rules, and it is common to have a + in there (at least
when distchecking gtk+ ...)
2010-12-06 14:13:07 -05:00
Benjamin Otte
9b042e39ec gdk: Add section docs for GdkRGBA 2010-12-06 18:57:11 +01:00
Benjamin Otte
fc711434bc gtk: Remove old DirectFB code for drawing window decorations
I'm not sure it'd even compile.
2010-12-06 18:57:11 +01:00
Benjamin Otte
8f8aeb7dfe gdk: Remove GdkWindowObject typedef
It's unused by now.
2010-12-06 18:57:11 +01:00
Kjartan Maraas
48e92c6939 Updated Norwegian bokmål translation 2010-12-06 18:14:03 +01:00
Colin Walters
65e3c09139 introspection: Fix (out) for gdk_screen_get_monitor_geometry
Scanner doesn't detect this case correctly because it's a typedef;
work around it here by explicitly specifying that it's caller
allocates.  See bug 636393 for the scanner issue.
2010-12-06 11:42:47 -05:00
Colin Walters
66f0f55b62 configure: Drop AC_PREREQ back down to 2.62
Commit 39f5740763 bumped the
autoconf version to 2.64 with no explicit rationale.  It looks
to me like a copy-and-paste error.  Reverting back to 2.62 (the
previous version).  2.63 at least (RHEL6) works here.
2010-12-06 11:27:57 -05:00
Matthias Clasen
96139cbb00 Update NEWS for 2.91.6 2010-12-06 10:56:03 -05:00
Matthias Clasen
48dba326c2 Disable theme engines for now
They need to be ported to GtkThemingEngine.
2010-12-06 10:19:00 -05:00
Murray Cumming
d23fb64d97 Fix a typo to fix the build. 2010-12-06 16:01:55 +01:00
Matthias Clasen
5f75ffc974 Add gtk_widget_path_get_type to the headers
Bug 636591
2010-12-06 09:50:01 -05:00
Kristian Rietveld
fd6e57687d Port Quartz backend to latest rendering-cleanup changes 2010-12-06 14:15:47 +01:00
Matthias Clasen
3b753aa05e Fix Makefile syntax 2010-12-06 07:26:00 -05:00
Tristan Van Berkom
55bbe4a3a5 Adding gtk_tree_view_column_new_with_area().
Creates a treeviewcolumn using a specific GtkCellArea.
This patch also makes GtkEntryCompletion use the new api
instead of g_object_new().
2010-12-06 19:04:51 +09:00
Tristan Van Berkom
f08f1f92aa Fixed some nit-picking bugs in GtkCellArea
- Dont try fetching a cell renderer for an event when the event
    coordinate is outside the cell area allocation (can happen
    on the y axis, not all events are button events).
  - Dont remove focus-line-width (inner area) an extra time from
    GtkCellArea->event
  - Dont remove focus-line-width from the cell area at all for the
    editable widget... use the whole area including the focus line
    (compared with git master behaviour and now it looks right, check
    the multiline editable string in testtreeedit).
2010-12-06 17:27:03 +09:00
Tristan Van Berkom
0d0ec85877 Fixed GtkTreeViewColumn to reset the context when _gtk_tree_view_column_cell_set_dirty is called.
This fixes autosize columns... result can be viewable by checking
tests/testtreeview and setting the second column to autosize and then
expanding/colapsing some rows.
2010-12-06 17:03:53 +09:00
Tristan Van Berkom
bf1aa2ad87 Changed GtkTreeViewColumn->requested_width to ->padding
Now we bookkeep the treeview assigned padding asides from the
requested width stored in the GtkCellAreaContext, this removes
the need for bookkeeping the deepest expanded depth in gtktreeview.c

At allocation time, just remove the padding from the allocated width
of the column and feed the rest to the underlying cell area.
2010-12-06 16:31:07 +09:00
Tristan Van Berkom
a090d62339 Added expand controls to testtreeedit (now you can play with align & expand effects in cells there). 2010-12-06 16:30:18 +09:00
Tristan Van Berkom
9366a345b4 Fix GtkCellAreaBox allocate_cells_manually to handle undersized areas. 2010-12-06 16:29:40 +09:00
Tristan Van Berkom
c6572265cb Fixed gtk-doc statement in GtkCellArea header 2010-12-06 16:29:13 +09:00
Matthias Clasen
f1fafca6ca Make invalid stylesheets fail to parse again
The recent improvements to error reporting caused gtk_css_provider_load...
to always return TRUE and leave the error unset. Error messages were instead
dumped out with g_message, which is not helpful.

This commit changes things back to the way they were before:
If a GError is passed in, parsing will fail at the first error, reporting
it in the given GError. If no GError is passed in, we keep going and
just issue the warning messages. This fixes the parser tests.
2010-12-06 00:47:13 -05:00
Matthias Clasen
94c9eb72ce Don't use g_warning when loading an engine fails
This causes the tests to abort if clearlooks can't be found.
2010-12-06 00:44:01 -05:00
Tristan Van Berkom
2588165bfb Added gtk_cell_area_foreach_alloc() to further simplify GtkCellArea subclasses
gtk_cell_area_foreach_alloc() itterates over an allocated list of cells
and calls a callback with the cell's allocation until the callback returns
TRUE.
  - Removed vfunc get_cell_allocation() and implemented
    gtk_cell_area_get_cell_allocation() using foreach_alloc()
  - Added gtk_cell_area_get_cell_at_position() using foreach_alloc()
  - Removed GtkCellAreaBox ->event() implementation and implemented
    mouse "click" cell activation in GtkCellArea class directly using
    gtk_cell_area_get_cell_at_position().
2010-12-06 14:11:28 +09:00
Tristan Van Berkom
4b065f5389 Changed gtk_cell_area_forall to gtk_cell_area_foreach since thats more widely used semantics.
Also gave a boolean return value to the callback to allow breaking out of the loop.
2010-12-06 12:41:38 +09:00
Benjamin Otte
d378470e87 appchooser: Remove bogus function declaration 2010-12-06 01:30:19 +01:00
Benjamin Otte
6d6ee9a26a style: Remove unused code 2010-12-06 01:02:52 +01:00
Benjamin Otte
e4c9d1a321 gdk: Constify argument to gdk_rgba_copy() 2010-12-06 01:02:52 +01:00
Benjamin Otte
d55073fde6 gdk: Remove depth argument from GdkWindowImpl->get_geometry() 2010-12-06 01:02:52 +01:00
Benjamin Otte
645d0ac403 API: gdk: Remove depth argument from gdk_window_get_geometry()
We don't want to expose depth anymore. If you need it, query the visual.
2010-12-06 01:02:52 +01:00
Benjamin Otte
84fd9b166c gdk: Remove nonexisting function from internal header 2010-12-06 01:02:19 +01:00
Paolo Borelli
b36cb87df9 Use the new style context API in GtkButton
Mostly replaces gtk_widget_style_get with gtk_style_context_get_style
2010-12-05 23:12:32 +01:00
Paolo Borelli
4a7e746bbc Use the new style context API in GtkLabel. 2010-12-05 22:07:30 +01:00
Paolo Borelli
561346bd40 Remove unused function modify_color_property 2010-12-05 22:07:30 +01:00
Carlos Garnacho
4cca7554b8 GtkStyleContext: warn on meaningless coords in gtk_render_* calls 2010-12-05 20:19:55 +01:00
Carlos Garnacho
5361490db8 Bug 636511 - New style override functions do not work on textview
Emit ::style-set on overrider style changes, this is necessary
in the mean time so widgets not listening yet to ::style-updated
get the style changes.
2010-12-05 20:19:55 +01:00
Jorge González
059aa89cbd Updated Spanish translation 2010-12-05 18:33:31 +01:00
Kristian Rietveld
d28cbd6e6d Bring back _gtk_tree_view_column_get_cell_at_pos
The function has been re-implemented around GtkCellArea.  This commits
also brings back the invocation of this function in
gtk_tree_view_button_press().  I shouldn't have removed this.
2010-12-05 18:18:36 +01:00
Matthias Clasen
d5df33c75f Fix abi check after recent merges 2010-12-05 12:18:30 -05:00
Kristian Rietveld
2a6550176c Replace FIRST_PIXEL macros with something that's more clear 2010-12-05 18:04:07 +01:00
Kristian Rietveld
7fe950a745 Clean up and clarify row height calculations 2010-12-05 17:56:30 +01:00
Kristian Rietveld
924359c31d Clean up _gtk_tree_view_column_cell_event 2010-12-05 17:12:37 +01:00
Kristian Rietveld
6c73647727 Remove the need for _gtk_tree_view_column_get_focus_area 2010-12-05 17:10:21 +01:00
Kristian Rietveld
64ddd3f40f Clarify start_pos parameter gtk_tree_view_column_cell_get_position
By renaming it to x_offset.
2010-12-05 17:04:52 +01:00
Kristian Rietveld
77d972e436 Remove private accessor for focus column 2010-12-05 15:20:17 +01:00
Kristian Rietveld
0a1982aff3 Move _gtk_tree_view_column_cell_focus to gtktreeview.c 2010-12-05 15:18:13 +01:00
Kristian Rietveld
131783005e Use structure bitfield instead of GtkTreeViewFlags 2010-12-05 15:12:53 +01:00
Fran Diéguez
4701aeb3bc Updated Galician translations 2010-12-05 14:57:08 +01:00
Kristian Rietveld
73f99eda1d Turn TREE_VIEW_DRAW_EXPANDERS into an inline function 2010-12-05 14:47:51 +01:00
Kristian Rietveld
ebba08a842 Remove unused TREE_VIEW_COLUMN_REQUESTED_WIDTH macro 2010-12-05 14:42:40 +01:00
Kristian Rietveld
43de55d7a9 Turn TREE_VIEW_HEADER_HEIGHT into an inline function 2010-12-05 14:42:08 +01:00
Tristan Van Berkom
364fe807f4 Added g_getenv("RTL") to test rtl layouting. 2010-12-05 22:15:31 +09:00
Tristan Van Berkom
3ca2ec5d2d Fixed conflicts from rebasing GtkTreeViewColumn changes from treeview-refactor. 2010-12-05 22:15:19 +09:00
Tristan Van Berkom
847581b67c Adding testverticalcells.c.
This test displays a GtkTreeViewColumn rendering a vertically
oriented GtkCellArea along side a horizontally oriented column
in the same treeview.
2010-12-05 22:15:03 +09:00
Tristan Van Berkom
78979b2954 Removing hack and fixing gtk_tree_view_column_cell_get_size().
Now consult gtk_cell_area_context_get_preferred_height().

It can be that height-for-widths requested here were too large
when multiple cells are in play because of the alignments stored
in the context... removing the temporary focus-line-width hack.
2010-12-05 22:14:52 +09:00
Tristan Van Berkom
1b28d87253 Added GtkTreeViewColumn:cell-area construct-only property.
Allow feeding treeviewcolumn a custom cell-area (or not a custom one,
but allow sharing the cell-area with say, the combo-box area).

This patch also:

 - Fixes signal connections to the area (now they do eventually get
   disconnected at dispose time, they are handled regardless if a
   treeview is set but execute safely, at least there is only one
   connection/disconnection).

 - Fixes refcounting on the cell_area (GtkCellArea is GInitiallyUnowned).

 - Adds a constructor() in order to build the cell-area if one has
   not been provided by the caller before hand at g_object_new()
   construct time.
2010-12-05 22:14:40 +09:00
Tristan Van Berkom
0baee408f2 Fixed GtkTreeViewColumn allocation to only subtract the depth padding/indentation from the expander column. 2010-12-05 22:14:27 +09:00
Tristan Van Berkom
779125976c Changed GtkTreeView to bookkeep the deepest expanded depth instead of recalculating it at column allocation time. 2010-12-05 22:14:11 +09:00
Tristan Van Berkom
b54c004c6b Allocate proper inner cell area to the GtkTreeViewColumn.
This is a premature patch, it traverses the tree's expanded
rows and fetches the deepest depth every time we allocate a
column. The deepest depth should rather be cached and pushed
when a row expands, then recalculated when the deepest expanded
row collapses.
2010-12-05 22:13:58 +09:00
Tristan Van Berkom
81e1d02de3 Created _gtk_tree_view_column_request_width().
Removed gtk_tree_view_get_real_requested_width_from_column() from
gtktreeview.c in favor of this function in the treeviewcolumn domain
(since this function goes and checks treeviewcolumn internals, settings
and derives the real requested width, seems logical this should be done
by the treeviewcolumn instead).
2010-12-05 22:12:16 +09:00
Tristan Van Berkom
7b36405a94 Use gtk_tree_view_get_real_requested_width_from_column() all around
GtkTreeView duplicated the contents of this function word-for-word
inside gtk_tree_view_update_size().
2010-12-05 22:12:04 +09:00
Tristan Van Berkom
cf8299f098 Changed _gtk_tree_view_column_set_width for _gtk_tree_view_column_allocate
Now the GtkTreeViewColumn takes care of move/resizing its window and
allocating its button (except for the special case of current drag_column
where the column doesnt actually get reallocated).
2010-12-05 22:11:50 +09:00
Tristan Van Berkom
4038cd76b3 Removed GtkTreeViewPrivate from gtktreeprivate.h and added a few more accessors.
This actually much simplifies interaction with GtkTreeSelection
(at least reduces code size where dealing width the treeview anchor path).
2010-12-05 22:11:37 +09:00
Tristan Van Berkom
4b5c80dc0f Removed the private sharing of internal treeview macros from gtktreeprivate.h
Added them directly to gtktreeview.c.
2010-12-05 22:11:21 +09:00
Tristan Van Berkom
9f4f22faf1 Removed all variables from GtkTreeViewColumn and created GtkTreeViewColumnPrivate
Some details:
  - button_request was not needed, consult the minimum request of the button
  - gtk_tree_view_column_get_button() needed to be public as people can set
    tooltips on the button (and libgail accesses the button).
2010-12-05 22:11:08 +09:00
Kristian Rietveld
137f16c4c5 Do not bother starting a draw call if bar_size <= 0 2010-12-05 13:57:04 +01:00
Yaron Shahrabani
86c8ce1cc0 Updated Hebrew translation 2010-12-05 14:14:03 +02:00
Paolo Borelli
e0efd067e4 Avoid memory corruption in the color_properties hashtable. 2010-12-05 12:30:28 +01:00
Tristan Van Berkom
f24c21f1f0 Added proper handling of right to left layouting of cells to GtkCellAreaBox. 2010-12-05 15:24:19 +09:00
Tristan Van Berkom
c6e1463d1e Added different icon at the end of testtreeedit to see if RTL is actually working. 2010-12-05 15:24:05 +09:00
Tristan Van Berkom
7b61cd8257 Merge branch 'master' into treeview-refactor 2010-12-05 13:14:39 +09:00
Javier Jardón
d351b40a0b Add internal accessor for GtkEntry->is_cell_renderer
This fixes commit fb3429e507
2010-12-04 22:06:02 -05:00
Matthias Clasen
5fdc140dd8 Fix a segfault in gdk_window_beep
Not a good idea to cast an instance to a class...
2010-12-04 17:25:40 -05:00
Alexander Larsson
190f533258 [broadway] Remove unnecessary backend-specific function
These were just blindly copied from the X backend
2010-12-04 22:59:04 +01:00
Alexander Larsson
7dbbc54370 [broadway] Remove unneeded _gdk_window_impl_get_type call 2010-12-04 22:54:45 +01:00
Matthias Clasen
afcd50d607 Try again to fix the gdk symbol list
Grr, gdk_window_class_class_get_type should have been
gdk_window_window_class_get_type.
2010-12-04 16:32:02 -05:00
Alexander Larsson
895922569e [broadway] Update to the new drawable-less APIs 2010-12-04 22:31:28 +01:00
Alexander Larsson
07fafe7b23 Merge branch 'master' into broadway 2010-12-04 22:31:15 +01:00
Matthias Clasen
144c3fd478 Fix gdk_rgba_parse call 2010-12-04 16:16:29 -05:00
Carlos Garnacho
37719380ae Fix call to gtk_widget_override_cursor() 2010-12-04 18:26:34 +01:00
Carlos Garnacho
3d28adf317 Make gtk_widget_override_cursor() take GdkRGBAs
Even though the style properties have the GdkColor type, the other
gtk_widget_override_* API takes RGBA colors, so it is consistent
now.
2010-12-04 17:49:28 +01:00
Tristan Van Berkom
0d786985a3 Merge branch 'master' into treeview-refactor
Conflicts:
	gtk/gtkmarshalers.list
	tests/Makefile.am
2010-12-05 00:36:37 +09:00
Paolo Borelli
cd76b057e9 Annotate gdk_window_get_geometry, get_position and get_origin 2010-12-04 15:47:50 +01:00
Carlos Garnacho
1c87180d5d GtkThemingEngine: Fix parameters for gtk_theming_engine_lookup_color() 2010-12-04 15:39:58 +01:00
Carlos Garnacho
8c02445bc5 testgtk: Fix gdk_rgba_parse() arguments. 2010-12-04 15:39:58 +01:00
Carlos Garnacho
0cba2dc726 GtkCssProvider: Improve error handling and reporting.
Nicer error reports are provided, and a GError can be spread from
anywhere in parsing, so over time more precise and meaningful
messages can be produced.
2010-12-04 15:39:57 +01:00
Carlos Garnacho
06d8676354 GtkThemingEngine: Be a bit more robust against missing essential properties. 2010-12-04 15:39:57 +01:00
Carlos Garcia Campos
07eeae1582 GtkWidget: add gtk_widget_render_icon_pixbuf()
and deprecate gtk_widget_render_icon()
2010-12-04 15:39:57 +01:00
Carlos Garcia Campos
905ba2f198 GtkIconFactory: add gtk_icon_set_render_icon_pixbuf()
and deprecate gtk_icon_set_render_icon().
2010-12-04 15:39:57 +01:00
Carlos Garcia Campos
b75972d0ce GtkStyle: set style context state before calling gtk_render_icon_pixbuf() 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
ca59b042df GtkStyle: make context property readable 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
15d997d58a GtkWidget: queue a resize when style context changed 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
f261d56da3 GtkStyleContext: invalidate icon caches when resetting widgets 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
3b3307b946 Use gtk_style_context_reset_widgets() instead of gtk_rc_reset_styles() 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
a8c8c23c77 GtkSettings: add _gtk_settings_get_screen() private method 2010-12-04 15:39:55 +01:00
Carlos Garnacho
47add6c7c3 Block direct #including in style headers 2010-12-04 15:39:55 +01:00
Carlos Garnacho
bacb7906f2 Add helper API for getting colors/borders in GtkStyleContext/GtkThemingEngine 2010-12-04 15:39:55 +01:00
Carlos Garnacho
3e8d138ed6 GtkStyleProperties: Refactor color/gradient resolution 2010-12-04 15:39:55 +01:00
Carlos Garnacho
9aca6c8071 GtkWidget: Add gtk_widget_override_cursor().
This function replaces gtk_widget_modify_cursor().
2010-12-04 15:39:54 +01:00
Carlos Garnacho
b0c87faa50 Add GtkModifierStyle as a private object
This object backs up gtk_widget_override_* operations. This object
is not meant to be public because any intention to modify widgets'
style in a themeable way should involve using regions/classes, so
they're modifiable through CSS. As such, the API is really
short-scoped.
2010-12-04 15:39:54 +01:00
Carlos Garnacho
0d2d60cf8a Gtk9Slice: Fix stretch rendering.
"Nearest" filter used when scaling the image, so image borders
aren't blurred.
2010-12-04 15:39:54 +01:00
Carlos Garnacho
afeac82fbd GtkThemingEngine: Add gtk_theming_engine_lookup_color()
It could also be handy for theme engines...
2010-12-04 15:39:53 +01:00
Carlos Garnacho
066f35bf28 Parse user CSS from $XDG_CONFIG_HOME/gtk-3.0/gtk.css 2010-12-04 15:39:53 +01:00
Carlos Garnacho
9bdb7e6945 GtkThemingEngine: Remove unused variables 2010-12-04 15:39:53 +01:00
Carlos Garnacho
901af8fec8 Fix compiler warnings. 2010-12-04 15:39:52 +01:00
Carlos Garnacho
cf0bd12e6c GtkStyleProperties: Turn border-width into a GtkBorder property.
All current users of this CSS property have been updated to deal
with a GtkBorder.

Also a 0 border width has been set in the default CSS to ensure
GtkStyleContext and GtkThemingEngine always provide a non-NULL
pointer for this property.
2010-12-04 15:39:52 +01:00
Carlos Garnacho
f7e7201f11 Fix docs typo. 2010-12-04 15:39:51 +01:00
Carlos Garnacho
daab45565a GtkCssProvider: Fix up state matching when looking up style properties. 2010-12-04 15:39:51 +01:00
Carlos Garnacho
297fa7a3dd GtkStyleProvider: Add GtkStateFlags parameter to get_style_property().
Widget style properties can now have different values depending on the
current state.
2010-12-04 15:39:51 +01:00
Carlos Garnacho
2ca905db5e GtkStyleContext: Handle directionality when picking next provider. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
46de2130d3 GtkWidget: unset NULL properties when overriding style. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
64b7d9e5c1 GtkThemingEngine: Render gradients in tabs.
Background will be actually rotated in tabs, so the "bottom" side coincides
with the junction point, this makes gradients work as expected in rotated tabs.
2010-12-04 15:39:50 +01:00
Carlos Garnacho
32c2b13969 GtkThemingEngine: split background rendering to a private function. 2010-12-04 15:39:50 +01:00
Carlos Garnacho
4c1a2426d4 GtkStyle: Commit a few typos when translating states. 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
4aaf193602 docs: gtk_style_context_get_screen() always returns a valid screen 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7a5a622998 Check screen really changed before notifying it and invalidating the context 2010-12-04 15:39:49 +01:00
Carlos Garcia Campos
7abf76fbc1 Initialize screen of GtkStyleContext to default screen 2010-12-04 15:39:48 +01:00
Matthias Clasen
587c08a151 Add explanation to failing test 2010-12-04 15:39:48 +01:00
Matthias Clasen
12d6b5889d Add a testcase a problem with style property handling 2010-12-04 15:39:48 +01:00
Matthias Clasen
f86e8f7512 Allow images for background-image
In addition to -gtk-gradient(...), allow url(path), and create
a pattern from the image. Still to do: allow stretch/repeat options.
2010-12-04 15:39:48 +01:00
Matthias Clasen
ca143b1303 Add list of classes and regions to the docs 2010-12-04 15:39:48 +01:00
Matthias Clasen
897c370f5f Avoid compiler warnings 2010-12-04 15:39:47 +01:00
Matthias Clasen
5adfe6029d Don't add class "scrollbar" for every trough
Turns out "trough" as a detail string is used in a variety
of widgets, not all of which are scrollbars.
2010-12-04 15:39:47 +01:00
Matthias Clasen
2578f4f4c3 Trivial doc fixes 2010-12-04 15:39:47 +01:00
Matthias Clasen
e598f17871 Some header cleanups
Move GtkGradient to their own files, also move GtkBorder out of
gtkstyle.h, so that header can be all deprecated.
2010-12-04 15:39:47 +01:00
Matthias Clasen
1915a19503 Add deprecation notes 2010-12-04 15:39:46 +01:00
Matthias Clasen
f8a874abb1 Initial attempt at deprecating GtkStyle api
This will probably need some finetuning.
2010-12-04 15:39:46 +01:00
Matthias Clasen
e374f7e4b5 Forgotten files 2010-12-04 15:39:46 +01:00
Matthias Clasen
757837b611 Make tests compile without using GtkStyle api 2010-12-04 15:39:46 +01:00
Matthias Clasen
9b1118a35d Port gtk3-demo to GtkStyleContext 2010-12-04 15:39:46 +01:00
Matthias Clasen
bbca96044e Fix memory handling when dealing with colors 2010-12-04 15:39:45 +01:00
Matthias Clasen
ab0a8fc17f Improve the migration guide
Add some hints about dealing with colors.
2010-12-04 15:39:45 +01:00
Matthias Clasen
53c2114356 Deprecate gtk_icon_info_load_symbolic_for_style
We might end removing it altogether since it is a bit silly to have
Since: 3.0
Deprecated: 3.0
2010-12-04 15:39:45 +01:00
Carlos Garnacho
e9ef162d4c GtkSpinner: Use style context for rendering.
Animation is now handled by the theming layer, a looping animation
has been defined in the default CSS to handle active spinners.
2010-12-04 15:39:45 +01:00
Carlos Garnacho
3d956b10ee GtkStyleContext: handle prelight transitions 2010-12-04 15:39:44 +01:00
Carlos Garnacho
c90bee16ba GtkThemingEngine: Handle prelight transitions in render_layout() 2010-12-04 15:39:44 +01:00
Carlos Garnacho
e696c24f08 GtkThemingEngine: Also render topright and bottomleft corners if junction sides say so 2010-12-04 15:39:44 +01:00
Carlos Garnacho
11004ef61d Initialize all looping, active state transitions on map()
This allows widgets to gtk_widget_set_state_flags() before mapping
and have animations started anyway when this happens.
2010-12-04 15:39:44 +01:00
Carlos Garnacho
4027dceaa9 Add #define for the "spinner" style class 2010-12-04 15:39:44 +01:00
Carlos Garnacho
62e9188ff3 GtkStyleContext: store layout extents for animation purposes. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
818aca5aee GtkStyleContext: Only allow looping transitions for states being turned on. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
ad6da0cdb8 GtkStyleContext: Stop animations if the window is gone. 2010-12-04 15:39:43 +01:00
Carlos Garnacho
cc18d65986 GtkThemingEngine: render square corner if the gap is too close on render_frame_gap() 2010-12-04 15:39:43 +01:00
Matthias Clasen
f0eed4a5b1 Use gtk_icon_info_load_symbolic_for_context
gtk_icon_info_load_symbolic_for_style is going to be deprecated.
2010-12-04 15:39:43 +01:00
Matthias Clasen
f90881271f Add a GtkStyleContext-variant of symbolic icon loading 2010-12-04 15:39:42 +01:00
Matthias Clasen
091c882996 Some tweaks for the GtkStyleContext migration guide 2010-12-04 15:39:42 +01:00
Matthias Clasen
0f98b15090 Add illustration to gtk_render_handle docs 2010-12-04 15:39:42 +01:00
Matthias Clasen
3ddee2561b Small doc addition 2010-12-04 15:39:42 +01:00
Matthias Clasen
d1f1af202b Add a frame-gap illustration 2010-12-04 15:39:42 +01:00
Matthias Clasen
1391a61bc5 Improve frame-gap drawing
Instead of overdrawing the gap with bg-color, clip it away.
2010-12-04 15:39:42 +01:00
Matthias Clasen
54eadfcefd Fix another parameter mismatch 2010-12-04 15:39:42 +01:00
Matthias Clasen
4e3dabf582 Fix up symbol list for docs 2010-12-04 15:39:41 +01:00
Matthias Clasen
b51c0f826a fix parameter name mismatch 2010-12-04 15:39:41 +01:00
Matthias Clasen
8abe9f300c Forgotten file 2010-12-04 15:39:41 +01:00
Carlos Garnacho
9c0ef02ea5 GtkButton: Remove unneeded gtk_style_context_notify_state_change() calls
There is now code to handle this for one-item widgets (such as GtkButton)
in gtk_widget_set_state_flags()
2010-12-04 15:39:41 +01:00
Carlos Garnacho
2f0b5d8a9d GtkCheckButton: Look active when the pointer button is pressed and hovering 2010-12-04 15:39:41 +01:00
Carlos Garnacho
037c982824 GtkStyleContext: Handle empty areas when coalescing invalidation regions. 2010-12-04 15:39:41 +01:00
Carlos Garnacho
2fb9687f55 GtkToggleButton: Make it able to be prelight and active at the same time. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
1d5a6b687e GtkComboBox: Use style context for rendering 2010-12-04 15:39:40 +01:00
Carlos Garnacho
c6b2e47931 Let gtk_widget_get_path() correct early calls during init(). 2010-12-04 15:39:40 +01:00
Carlos Garnacho
ebd8463007 GtkCssProvider: Handle unfocused label selections in default CSS. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
90dd2eb42b GtkLabel: Use style context for rendering. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
0fce9342ef GtkThemingEngine: Draw 3D-like effects on square frames with lines. 2010-12-04 15:39:40 +01:00
Carlos Garnacho
3138cc7677 GtkThemingEngine: Render rounded frames with light/shadow connections at 45° 2010-12-04 15:39:39 +01:00
Carlos Garnacho
95ae1a0aa6 GtkThemingEngine: don't overshoot when rendering frames. 2010-12-04 15:39:39 +01:00
Carlos Garnacho
e47c8e2490 GtkStyle: Return the default icon set if no context is attached. 2010-12-04 15:39:39 +01:00
Carlos Garnacho
5d496aa7f3 GtkStyle: Do not warn if attach count == 0
This is going go happen more and more often now, as realize handlers start
removing the gtk_widget_style_attach() calls.
2010-12-04 15:39:39 +01:00
Carlos Garnacho
6bf04fbd94 GtkCssProvider: Add a default border color for insensitive elements. 2010-12-04 15:39:39 +01:00
Matthias Clasen
e57e0e978d Illustrate extension rendering 2010-12-04 15:39:39 +01:00
Matthias Clasen
8589c5c65e Add slider illustration 2010-12-04 15:39:38 +01:00
Matthias Clasen
8d951476bf Add an activity example
This doesn't work, since it trips up on num-steps not being
available for GtkEventBox.
2010-12-04 15:39:38 +01:00
Matthias Clasen
7e96a51953 Add examples for frame rendering 2010-12-04 15:39:38 +01:00
Matthias Clasen
4c04d944e8 Atempt to fix stretched 9slice rendering 2010-12-04 15:39:38 +01:00
Matthias Clasen
30fe448750 Fix handling of junctions in frame drawing code 2010-12-04 15:39:38 +01:00
Matthias Clasen
e522381183 Add a background example to the docs 2010-12-04 15:39:38 +01:00
Matthias Clasen
d532c0e5c2 Test some wilder names for classes, etc 2010-12-04 15:39:37 +01:00
Matthias Clasen
391e445d11 Allow digits in selectors and values, where appropriate 2010-12-04 15:39:37 +01:00
Matthias Clasen
31368f16cb Add the style example code used to generate illustrations 2010-12-04 15:39:37 +01:00
Matthias Clasen
f13f315312 Some more images for gtk_render docs 2010-12-04 15:39:37 +01:00
Matthias Clasen
d4c70f214d Declare transition and border-image properties to be writeonly
We don't make the types of their values public, so getting their
values is useless and will leak.
2010-12-04 15:39:37 +01:00
Matthias Clasen
a5e10e9b26 Improve some gtk_render_ docs
With pictures !!
2010-12-04 15:39:36 +01:00
Matthias Clasen
d7a0fe5bf1 Document predefined style provider priorites
Also, rename GTK_STYLE_PROVIDER_PRIORITY_DEFAULT to _THEME and
use it for themes.
2010-12-04 15:39:35 +01:00
Matthias Clasen
a260059c7f Fix doc formatting 2010-12-04 15:39:35 +01:00
Matthias Clasen
d9b0da5b83 Fix resize grip drawing
There was some confusion about junctions...
2010-12-04 15:39:34 +01:00
Matthias Clasen
be0ed14cce Fix GtkRadioButton drawing 2010-12-04 15:39:34 +01:00
Matthias Clasen
fc10599ac8 Make unfocused selections visible in entries 2010-12-04 15:39:33 +01:00
Matthias Clasen
21a193ad02 Make expanders prelight 2010-12-04 15:39:33 +01:00
Matthias Clasen
8b6112b6e0 Rewrite GtkInfoBar color handling to bypass GtkStyle
This avoids a segfault that was happening due to the recursion
detection not working anymore with the old way of doing things.
2010-12-04 15:39:33 +01:00
Carlos Garnacho
d63615d9cc GtkCssProvider: Render inconsistent toggle buttons differently. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
9b2f878b06 GtkCssProvider: do not use selected fg/bg in sliders or spinbutton buttons. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
bcf1ee4825 GtkCssProvider: Use 1px border width for spinbutton buttons. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
74b032b816 GtkCssProvider: Render radio and check boxes framess in menus. 2010-12-04 15:39:32 +01:00
Carlos Garnacho
b33d48a802 GtkCssProvider: use selected fg/bg for selected menu items in CSS. 2010-12-04 15:39:31 +01:00
Carlos Garnacho
85aa672ff7 GtkCssProvider: Draw frame around menubars and toolbars in default CSS. 2010-12-04 15:39:31 +01:00
Matthias Clasen
fea567bb9f More documentation reshuffling 2010-12-04 15:39:31 +01:00
Matthias Clasen
ace967a042 Tweak wording 2010-12-04 15:39:30 +01:00
Matthias Clasen
3a7f79e814 Document border images better 2010-12-04 15:39:30 +01:00
Matthias Clasen
953ac51fb8 Make url parsing work for slices
The border-image parsing code relies on parse_path_str to return
a meaningful end_ptr in case of success, too.
2010-12-04 15:39:29 +01:00
Matthias Clasen
28e549082c Fix Gtk9Slice creation 2010-12-04 15:39:29 +01:00
Matthias Clasen
69254c552a Allow / in values
Otherwise, using url(path) on the right-hand side of properties
is not going to work.
2010-12-04 15:39:28 +01:00
Matthias Clasen
7d6fb7b7e7 Add some images to the docs
Add graphs for the transition functions and gradient examples.
2010-12-04 15:39:28 +01:00
Matthias Clasen
b2d338d370 GtkWidgetPath documentation tweaks 2010-12-04 15:39:27 +01:00
Matthias Clasen
077270142f GtkStyleContext documentation tweaks 2010-12-04 15:39:27 +01:00
Matthias Clasen
bcf3de095f Document various style-related enums 2010-12-04 15:39:26 +01:00
Carlos Garnacho
11480c57f0 GtkStyleContext: Use correct type for animation duration. 2010-12-04 15:39:26 +01:00
Carlos Garnacho
32ccac94e0 GtkAnimationDescription: parse "loop" correctly.
This sscanf parsing needs to go...
2010-12-04 15:39:25 +01:00
Carlos Garnacho
0c1cfd8a34 GtkStyle: handle scales when translating the detail string. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
71f187a84f GtkCssProvider: Handle progressbars. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
f3445a2430 GtkCssProvider: Do not have border-color the same than active bg-color. 2010-12-04 15:39:24 +01:00
Carlos Garnacho
171157b0e4 GtkMenu: Use GtkStyleContext for rendering. 2010-12-04 15:39:23 +01:00
Carlos Garnacho
6fff76568c GtkMenuBar: Use GtkStyleContext for rendering. 2010-12-04 15:39:23 +01:00
Carlos Garnacho
0df9c70200 Use gtk_render_activity() when rendering progressbars through GtkStyle 2010-12-04 15:39:23 +01:00
Carlos Garnacho
ee37847952 GtkCssProvider: Use default value when handling "none".
This way the default value has a way to override other values in previous
GtkStyleProviders when merged.
2010-12-04 15:39:22 +01:00
Matthias Clasen
5e26fb75a0 Add GtkStyleProperties to the docs 2010-12-04 15:39:22 +01:00
Matthias Clasen
e2f91f7201 Documentation improvements
This patch adds more detail to the explanation of CSS, and also
adds documentation about which files are read.

We also make :focus an alternative to :focused (since :focus is
a standard CSS pseudo-class).
2010-12-04 15:39:22 +01:00
Matthias Clasen
42dd5b2e15 Adapt testgtk.css to parser changes 2010-12-04 15:39:21 +01:00
Carlos Garnacho
9567ed01e8 GtkCssProvider: Base prelight foreground on bg color.
Entries are also handled, so base/text colors are used.
2010-12-04 15:39:21 +01:00
Carlos Garnacho
de94d04fea GtkCssProvider: Make prelight a bit less light in default CSS. 2010-12-04 15:39:21 +01:00
Carlos Garnacho
bc3c9ce619 GtkStyle: Fix typo.
GtkStateType was being used in gtk_style_context_get(), instead of
GtkStateFlags, oops.
2010-12-04 15:39:20 +01:00
Carlos Garnacho
ead23cd0ce GtkThemingEngine: Make render_option() depend on border-style and border-color. 2010-12-04 15:39:20 +01:00
Carlos Garnacho
be4a616e6e GtkRadioButton: Use GtkStyleContext for rendering. 2010-12-04 15:39:20 +01:00
Carlos Garnacho
756e20f58c Make "button" class depend on mode for GtkToggleButtons 2010-12-04 15:39:20 +01:00
Carlos Garnacho
84d586043e Fix checkbuttons theming in CSS so it's more similar to 2.x 2010-12-04 15:39:19 +01:00
Carlos Garnacho
7478a77b04 GtkCheckButton: Use GtkStyleContext for rendering. 2010-12-04 15:39:19 +01:00
Carlos Garnacho
04783534ed GtkThemingEngine: Make render_check() depend on border-style and border-color. 2010-12-04 15:39:19 +01:00
Carlos Garnacho
f62583d30c GtkContainer: Also copy permanent container's classes on get_path_for_child()
This makes inheritance work for the simplest cases when style is defined
for classes.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
6d1cf76822 GtkWidgetPath: Make iter API deal with gints.
now gtk_widget_path_iter_* takes gints instead of guints, and also accept
numbers == -1 or > path_length for the path head.
2010-12-04 15:39:18 +01:00
Carlos Garnacho
5f88997297 GtkWidgetPath: Make gtk_widget_path_prepend_type() return nothing.
It's senseless to always return 0
2010-12-04 15:39:18 +01:00
Carlos Garnacho
198bb314c7 GtkStyleContext: preserve state on save(). 2010-12-04 15:39:18 +01:00
Carlos Garnacho
1bfb169ce6 GtkThemingEngine: Documents that engines must only use this API.
It was a bit unclear in the documentation, even if it was from the
API POV.
2010-12-04 15:39:18 +01:00
Matthias Clasen
c5b38121ec Add tests for matching
These tests try to decipher how specificity works for selectors.
2010-12-04 15:39:17 +01:00
Matthias Clasen
e1819055b9 Copy GtkWidgetPaths correctly
The code was forgetting to copy class information.
2010-12-04 15:39:17 +01:00
Matthias Clasen
49fed3d7d7 More css parsing tests 2010-12-04 15:39:17 +01:00
Matthias Clasen
4135fbf4d6 A little closer to css
Declarations are ;-separated, but there is no ; required after
the last declaration. We harmlessly accept either.
2010-12-04 15:39:17 +01:00
Javier Jardón
295cf25d6b docs: Refer to gtk_paint_*() instead draw_*() vfuncs in the migration guide 2010-12-04 15:39:17 +01:00
Matthias Clasen
933440e1f1 Some css parsing tests 2010-12-04 15:39:16 +01:00
Matthias Clasen
0396550ece Work harder at parsing import statements
Also, turn g_warning() into g_message() for now, so that tests
don't abort. Eventually, this needs to all go into GErrors.
2010-12-04 15:39:16 +01:00
Matthias Clasen
11cd19987b Move import syntax closer to css
Css allows @import url ("foo.css") or @import "foo.css" or
@import url ('foo.css') but not @import url(foo.css) or @immport foo.css.
2010-12-04 15:39:16 +01:00
Matthias Clasen
f92c352f96 Some error reporting
When we take a GError argument, better use it.
2010-12-04 15:39:16 +01:00
Matthias Clasen
5f13b65065 Fix prototype of gtk_css_style_provider_load_from_data
GError arguments must be **.
2010-12-04 15:39:16 +01:00
Matthias Clasen
72f9a7940f Add an outline around menu popups 2010-12-04 15:39:15 +01:00
Matthias Clasen
c8e5d3b07b Transform the 'menu' detail string to the 'popup' class 2010-12-04 15:39:15 +01:00
Matthias Clasen
016a656923 Fix prelighting of inconsistent radio and check buttons 2010-12-04 15:39:15 +01:00
Matthias Clasen
b6776dc116 Fix the resize handle drawing 2010-12-04 15:39:15 +01:00
Matthias Clasen
627b33265b Handle float and uint style properties
These were giving errors in testgtk.
2010-12-04 15:39:15 +01:00
Matthias Clasen
f0eafe60f8 Remove debug output 2010-12-04 15:39:14 +01:00
Matthias Clasen
4e778d7371 Fix a typo 2010-12-04 15:39:14 +01:00
Matthias Clasen
512bc44dbc Make frames visible by default 2010-12-04 15:39:14 +01:00
Matthias Clasen
9ca66efe2c Fix a memory leak 2010-12-04 15:39:14 +01:00
Matthias Clasen
69f91fed94 Translate detail strings for radio buttons 2010-12-04 15:39:14 +01:00
Carlos Garnacho
25b6945971 GtkThemingEngine: remove unused code 2010-12-04 15:39:13 +01:00
Carlos Garnacho
892fe46324 Fix compile warnings 2010-12-04 15:39:13 +01:00
Carlos Garnacho
c9dc09e980 GtkStyleProvider: Pass a GParamSpec in get_style_property().
This is so we can know the owner type of the property, and matching
with the stored strings in GtkCssProvider is direct.
2010-12-04 15:39:13 +01:00
Carlos Garnacho
b613f1f1f2 GtkStyleContext: Also use screen providers for widget style properties. 2010-12-04 15:39:13 +01:00
Carlos Garnacho
13e186bbca Handle menuitem detail string better. 2010-12-04 15:39:13 +01:00
Carlos Garnacho
9a2d1e5433 GtkSettings: install theme CSS with a lower priority.
This is so GtkSettings has an opportunity to modify theme colors.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
0057aa5445 Add corners to GtkJunctionSides, defining sides as 2 corners. 2010-12-04 15:39:12 +01:00
Matthias Clasen
eb8a1c4e33 Don't whine about expander-style missing
This check was lost in the GtkStyleContext porting.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
43cff6f6f7 GtkCssProvider: theme notebooks. 2010-12-04 15:39:11 +01:00
Carlos Garnacho
6099399fa7 GtkThemingEngine: Use border settings on render_extension/frame_gap() 2010-12-04 15:39:11 +01:00
Carlos Garnacho
60a2e90df7 GtkStyle: transform tabs' detail string. 2010-12-04 15:39:10 +01:00
Carlos Garnacho
534942d994 GtkThemingEngine: Do not use possible reserved word. 2010-12-04 15:39:10 +01:00
Carlos Garnacho
5bf9f8c410 testgtk: Try to locate the right file. 2010-12-04 15:39:09 +01:00
Carlos Garnacho
d4aade109f Fix gtk_css_provider_get_named() docs. 2010-12-04 15:39:09 +01:00
Carlos Garnacho
c37797a10c GtkSettings: Keep right refcount of the theme provider. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
611cb007b4 GtkSettings: Ensure the theme CSS is loaded on startup. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
8243c3c025 GtkCssProvider: Fix typo in gtk_css_provider_get_named()
provider was being redefined in the inner block, so the loaded
provider didn't get to be returned.
2010-12-04 15:39:08 +01:00
Carlos Garnacho
a185954d7c Hardcode 3.0 version for style files and paths.
It's about time to start using the right paths.
2010-12-04 15:39:07 +01:00
Carlos Garnacho
37f9f491d2 Make testgtk load CSS for custom styling. 2010-12-04 15:39:07 +01:00
Carlos Garnacho
9ffaf1122d GtkCssProvider: Accept '%' in value strings. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
64e798e190 Do not initialize RC subsystem. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
62ee0956e3 GtkStyleProperties: Use GParamSpec for properties registration. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
1c847d9c21 GtkCssProvider: Docs fix for -gtk-gradient() syntax. 2010-12-04 15:39:06 +01:00
Carlos Garnacho
bcf81a0e23 Handle looping transition animations. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
1123159dc9 GtkCssProvider: Handle better wrong enum/flag values. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
9bb96e271d GtkCssProviders: Parse GTypeFlags based values. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
5cb6fed0bd GtkCssProvider: Add initial unit parsing logic
At the moment only "px" are supported, and such is the default
value when no unit is specified.
2010-12-04 15:39:05 +01:00
Carlos Garnacho
65abcb722e GtkCssProvider: Handle the "none" keyword to unset properties. 2010-12-04 15:39:05 +01:00
Carlos Garnacho
c57fdf4c75 GtkStyleContext: Resolve symbolic colors for widget style properties. 2010-12-04 15:39:04 +01:00
Carlos Garnacho
d865cf4b38 GtkStyleProperties: Handle GdkColor types.
Just in case.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
8b9b9c22e7 GtkCssProvider: Also parse GdkColor values
This is necessary for widget style properties to work.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
815e3499ae GtkCssProvider: Add lighter/darker color functions.
These behave the same than in GtkStyle.
2010-12-04 15:39:04 +01:00
Carlos Garnacho
cb2f9a86e5 GtkCssProvider: allow color names from rgb.txt when parsing colors. 2010-12-04 15:39:03 +01:00
Carlos Garnacho
44b1a6c852 GtkStyleContext: Add #define's for the default properties. 2010-12-04 15:39:03 +01:00
Carlos Garnacho
1be9d6ebc9 Document missing GtkStateType values.
The documentation has also moved to gtkenums.h.
2010-12-04 15:39:02 +01:00
Carlos Garnacho
1487b34679 Remove GTK_STATE_LAST.
It didn't turn out to be that useful, nor widely used.
2010-12-04 15:38:56 +01:00
Carlos Garnacho
1fb6cc8d77 Use the correct cairo-gobject.h include path. 2010-12-04 15:38:56 +01:00
Carlos Garnacho
2fe0a51ed0 Add gtk_render_icon_pixbuf() function to docs. 2010-12-04 15:38:56 +01:00
Carlos Garnacho
04fbb74388 Add GtkStyleContext migration docs. 2010-12-04 15:38:56 +01:00
Carlos Garnacho
fb97bd1f0a GtkThemingEngine: Document missing class vmethods. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
4689b63739 GtkButton: Use GtkStyleContext for rendering. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
dc2df7d178 GtkWindow: Use GtkStyleContext for rendering. 2010-12-04 15:38:55 +01:00
Carlos Garnacho
3f12fc2bd8 GtkStyleContext: Add gtk_style_context_set_background().
This function replaces gtk_style_set_background().
2010-12-04 15:38:54 +01:00
Carlos Garnacho
d9664021cc GtkWidget: Update pango context from style context's font description. 2010-12-04 15:38:49 +01:00
Carlos Garnacho
1cfeeadc70 GtkWidget: Ensure the style context always has an screen.
Things like font settings depend on the screen, and widgets
like GtkTextView trigger queries on widgets without screen
when the parent window is being destroyed.
2010-12-04 15:38:48 +01:00
Carlos Garnacho
48f239c1f2 Add CSS class defines for toolbars and docks. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
99879d4a5f GtkStyle: translate a few more detail strings. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
3848a58b17 GtkCssProvider: theme progressbars in default CSS. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
0431239ead GtkThemingEngine: ensure 1px wide frames aren't painted between pixels. 2010-12-04 15:38:48 +01:00
Carlos Garnacho
f66275fa6a GtkThemingEngine: Use square cap for solid frames. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
3d1403e684 GtkThemingEngine: ensure that background isn't rendered past the frame boundaries. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
d6ba3b7d89 GtkThemingEngine: Get rid of obsolete code for tooltips. 2010-12-04 15:38:47 +01:00
Carlos Garnacho
661a13fe4d GtkStyleContext: Fix check for GtkIconSize in render_icon_pixbuf(). 2010-12-04 15:38:46 +01:00
Carlos Garnacho
405f2f306a GtkStyleContext: restore widget state too in restore(). 2010-12-04 15:38:45 +01:00
Carlos Garnacho
8b267a58da GtkCssProvider: Do not miss the last class name in concatenated classes.
Selectors like .menu.check or .entry.progressbar were being misparsed
and attributed to .menu and .entry.
2010-12-04 15:38:45 +01:00
Carlos Garnacho
d321713704 GtkStyle: transform window background detail string. 2010-12-04 15:38:44 +01:00
Carlos Garnacho
1ec47b20db GtkStyle: Transform menubar detail string. 2010-12-04 15:38:43 +01:00
Carlos Garnacho
46b8cc8686 GtkStyle: Transform menu accelerators string 2010-12-04 15:38:42 +01:00
Carlos Garnacho
4c898a3c7e GtkStyleContext: Define some more class names. 2010-12-04 15:38:42 +01:00
Carlos Garnacho
912ad78cc5 Remove GTK_REGION_DEFAULT
GTK_STYLE_CLASS_DEFAULT is preferred to match a default area, as
it doesn't make sense to have a per-region default.
2010-12-04 15:38:41 +01:00
Carlos Garnacho
271145645c GtkThemingEngine: Use GtkSymbolicColor for shades. 2010-12-04 15:38:41 +01:00
Carlos Garnacho
df95a74a27 GtkThemingEngine: Do not require a default value when registering properties
NULL should work for 0 for int/double/enum/... types and NULL for
pointer types, this should be sane enough to not require a default
value.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
765f653df6 GtkSymbolicColor: Only require styleproperties when resolving named colors.
It is not necessary for resolving colors based on literals,
so be a bit less strict here.
2010-12-04 15:38:40 +01:00
Carlos Garnacho
525963d74d GtkSymbolicColor: convert to/from hls when shading.
This makes shading equal to GtkStyle's.
2010-12-04 15:38:39 +01:00
Carlos Garnacho
3ea9568c20 GtkSymbolicColor: Do not clamp shade/mix/alpha factors. 2010-12-04 15:38:39 +01:00
Carlos Garnacho
a23863211b GtkStyleContext: Add gtk_render_icon_pixbuf()
This function is similar to gtk_style_render_icon(), which is now
implemented on top of this one.
2010-12-04 15:38:38 +01:00
Carlos Garnacho
06c8857191 GtkThemingEngine: Fix compile warning. 2010-12-04 15:38:38 +01:00
Carlos Garnacho
605fa03248 Fix compile warning 2010-12-04 15:38:37 +01:00
Carlos Garnacho
f2c6c82ff0 GtkStatusIcon: update to use gtk_widget_override_symbolic_color(). 2010-12-04 15:38:37 +01:00
Carlos Garnacho
f383e6b0a2 GtkWidget: Add new set of methods to override style information.
gtk_widget_override_*() deprecates gtk_widget_modify_*(). There are
only functions to modify fg/bg/font/symbolic color, If anything more
fancy/complex is needed. There is the possibility of adding a
GtkStyleProvider yourself.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
920637abef GtkStyle: Listen to context changes.
This way the GtkStyle is updated to the latest style info, actually
emitting ::style-set must be performed after invalidating the style
context.
2010-12-04 15:38:36 +01:00
Carlos Garnacho
33e95ae65f GtkStyleContext: Add the start of a default set of class names/regions. 2010-12-04 15:38:36 +01:00
Carlos Garnacho
071ccaf8a7 Theming documentation fixes
2 functions were not in -sections.txt, and GtkStyleSet was renamed
to GtkStyleProperties.
2010-12-04 15:38:35 +01:00
Carlos Garnacho
80e74d79bb GtkStyleContext: Fix merging of local and global providers. 2010-12-04 15:38:35 +01:00
Carlos Garnacho
fb8de847df GtkStyleProperties: Merge font descriptions on merge()
This is necessary so incomplete font descriptions are ensured to have
family and size.
2010-12-04 15:38:34 +01:00
Carlos Garnacho
af20ba6103 GtkSymbolicColor: Take const GdkRGBA in new_literal(). 2010-12-04 15:38:34 +01:00
Carlos Garnacho
2efa2947be Document gtk_render_* functions. 2010-12-04 15:38:34 +01:00
Carlos Garnacho
ebf5bd390f Add gtk_render_activity()
This method will render progress bars and spinners, these should
handle active and inconsistent states' animation progress in order
to perform animations.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
af1f8701dc GtkThemingEngine: draw resize grip through render_handle().
GtkJunctionSides is used instead of GdkWindowEdge, GtkStyle
implementation has changed to use GtkStyleContext's.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
227294a6aa GtkWidget: Trigger state change transitions on state flags change.
This makes state transitions automatic for non-complex widgets, complex
widgets such as GtkTreeView still need to notify state updates themselves.
2010-12-04 15:38:33 +01:00
Carlos Garnacho
c0d08ff627 GtkToolItemGroup: Set widget state as state flags. 2010-12-04 15:38:33 +01:00
Carlos Garnacho
1c2f27fe11 GtkToggleButton: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
80d1ce9f67 GtkRadioButton: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
517eaa55e5 GtkNotebook: Set widget state as state flags. 2010-12-04 15:38:32 +01:00
Carlos Garnacho
5f0f21aad3 GtkMenuItem: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
9ae2e29f44 GtkMenu: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
399499225e GtkExpander: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
f7f5ac1b09 GtkEntry: Set widget state as state flags. 2010-12-04 15:38:31 +01:00
Carlos Garnacho
0e25b19515 GtkComboBox: Set widget state as state flags. 2010-12-04 15:38:30 +01:00
Carlos Garnacho
401b655307 GtkButton: Set widget state as state flags. 2010-12-04 15:38:30 +01:00
Carlos Garnacho
cd98204619 Implement widget states as a set of flags
gtk_widget_(set|unset|get)_state_flags() has been added, using GtkStateFlags
to represent the widget state. GtkStateType API has been implemented on top
of the new one.
2010-12-04 15:38:30 +01:00
Carlos Garnacho
34b91a74e5 Document missing value in GtkStateFlags 2010-12-04 15:38:30 +01:00
Carlos Garnacho
4acc20abc1 s/GtkStyleSet/GtkStyleProperties/
The former name had oddities such as gtk_style_set_set() and such,
so the new name is nicer in that regard and not much longer.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
1bdd761c3f GtkWidget: Ensure name changes involve a style context update. 2010-12-04 15:38:29 +01:00
Carlos Garnacho
8ea649e0a0 Rely only on fg/bg colors.
"foreground-color" has been renamed to just "color" as in regular CSS,
and the "text-color" and "base-color" properties have been removed. The
default CSS has been changed to have widgets cope with this change.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
7de2cf3286 GtkCssProvider: Fix parsing of concatenated classes.
Now selectors such as:

 GtkWidget#name.class1.class2
 #name.class1.class2
 .class1.class2

are parsed correctly, being meaningful for a widget defining several
classes.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
a8a1d8cd01 GtkThemingEngine: Use ::name when registering style props. 2010-12-04 15:38:29 +01:00
Carlos Garnacho
90de318ab3 GtkThemingEngine: Add ::name construct only property
This property is to be set by theming engines, the name set will be favored
over the object type name when registering custom properties, making possible
something like:

-Clearlooks-border: blah;
2010-12-04 15:38:28 +01:00
Carlos Garnacho
c88e3bfc0c GtkStyleSet: Prevent from possible underflow. 2010-12-04 15:38:28 +01:00
Carlos Garnacho
51b742044a GtkCssProvider: Parse alpha() symbolic colors.
The "alpha" symbolic color modifies a passed color's alpha by a factor,
the syntax would accept things like:

background-color: alpha (@bg_color, 0.8);
foreground-color: alpha (shade (@fg_color, 0.8), 0.5);
2010-12-04 15:38:28 +01:00
Carlos Garnacho
ca44965f33 GtkSymbolicColor: Add gtk_symbolic_color_new_alpha()
This function modifies the alpha channel of a color, multiplying
it by a factor.
2010-12-04 15:38:28 +01:00
Carlos Garnacho
0bd81ef710 GtkCssProvider: Make default style depend more on custom colors. 2010-12-04 15:38:28 +01:00
Carlos Garnacho
5310ad8070 GtkStyle: Get to style GtkCellRendererText text. 2010-12-04 15:38:27 +01:00
Carlos Garnacho
6356f01b06 GtkThemingEngine: render 0-radius frames with 3D-like 45° corner effect 2010-12-04 15:38:27 +01:00
Carlos Garnacho
43f7fb8354 GtkThemingEngine: Clear the background for .background class 2010-12-04 15:38:27 +01:00
Carlos Garnacho
d565e15951 GtkStyle: translate active state in paint_flat_box(). 2010-12-04 15:38:27 +01:00
Carlos Garnacho
087249db07 GtkCssProvider: Update end string when misparsing symbolic colors. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
7d441000f7 GtkCssProvider: Allow '\t' when parsing values. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
4ca3b5071e GtkSymbolicColor: Initialize alpha when resolving shades. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
975f133d63 GtkThemingEngine: Improve rendering of inset/outset borders. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
39ce35dd75 GtkCssProvider: Improve default CSS. 2010-12-04 15:38:26 +01:00
Carlos Garnacho
6bd0865601 GtkStyle: Handle scrollbar buttons. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
490d59f045 Do not shade alpha values. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
3bfc59b9bb GtkStyle: Match "trough" and "slider" detail strings.
This is so scrollbars can be themed throught the "trough" and
"slider" classes.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
4e02218f52 Use GdkRGBA all around in GtkStyleContext. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
3a455ed8f9 GtkStyleSet: Register the border-style and border-color properties
This is also implemented in the theming engine, although the default
CSS should be using it in order to theme buttons, troughs, sliders
and such.
2010-12-04 15:38:25 +01:00
Carlos Garnacho
8d4ffedbf1 GtkStyleContext: '_' prefix the structs, gtk-doc prefers this. 2010-12-04 15:38:24 +01:00
Carlos Garnacho
770f050d8c GtkWidgetPath: turn into a boxed type. 2010-12-04 15:38:24 +01:00
Carlos Garnacho
c9a3da5025 GtkStyleContext: s/set/add/ and s/unset/remove/ for classes/regions.
Several classes and regions may be set to GtkStyleContext, so rename
the functions to be more intuitive.
2010-12-04 15:38:24 +01:00
Carlos Garnacho
161d5175e1 GtkThemingEngine: Honor border-radius in render_background(). 2010-12-04 15:38:24 +01:00
Carlos Garnacho
f7dd423862 GtkStyleSet: Register the "border-radius" property 2010-12-04 15:38:24 +01:00
Carlos Garnacho
32b50f2948 GtkStyleContext: Update function declaration in header. 2010-12-04 15:38:23 +01:00
Carlos Garnacho
0a0a1a20a7 GtkCssProvider: Make it able to parse enums. 2010-12-04 15:38:23 +01:00
Carlos Garnacho
d03caa4683 GtkCssProvider: Run through the widget path in the correct order.
Comparing a selector with a widget path was being done backwards since
the change to use GtkContainer::get_path_for_child().
2010-12-04 15:38:23 +01:00
Matthias Clasen
35a41bd801 Make loading of theming engines from modules work 2010-12-04 15:38:23 +01:00
Carlos Garnacho
d0f681e898 GtkStyleContext: Add gtk_style_context_new(). 2010-12-04 15:38:22 +01:00
Carlos Garnacho
c2f47063c3 GtkCssProvider: Parse default/sorted region flags. 2010-12-04 15:38:22 +01:00
Carlos Garnacho
4a9890e3ab GtkCssProvider: Parse missing widget states. 2010-12-04 15:38:22 +01:00
Carlos Garnacho
68bfb94f69 Change semantics of the methods to check whether an animation is running.
It actually messed up with the state being actually set, and having a
transition animation running for it. Now this dichotomy is removed, and
gtk_style_context_state_is_running() only checks whether an animation is
running, leaving state checking to flags & GTK_STATE_FLAG_*.
2010-12-04 15:38:22 +01:00
Carlos Garnacho
96c16e246c GtkStyleContext: Actually store region ID when starting an animation. 2010-12-04 15:38:21 +01:00
Carlos Garnacho
a79626b7fb Add theming docs
Both API and file format is documented, there's still missing
a migration doc though.
2010-12-04 15:38:21 +01:00
Carlos Garnacho
59b0fa8133 Remove GtkOrientation parameter from gtk_render_handle().
The case for paned can be guessed out from the height and width,
for handlebox the orientation parameter doesn't make much sense,
and this way it could also be used for resize grips.
2010-12-04 15:38:21 +01:00
Benjamin Berg
e8c103f652 Use cairo gobject support instead of a new boxed type. 2010-12-04 15:38:20 +01:00
Carlos Garnacho
88a3c2daae GtkGradient: Handle symbolic gradients.
The css parser has been modified to parse correctly radial gradients:

background-image: -gtk-gradient (radial,
                                 center center, 0,
                                 center center, 0.8,
                                 from (#000), to (#fff));

The theming engine has been modified to correctly animate these,
as well as transitions between different pattern types.
2010-12-04 15:38:20 +01:00
Carlos Garnacho
2e8b1cd358 Gtk9Slice: Fix stretch case. 2010-12-04 15:38:20 +01:00
Carlos Garnacho
a65d0d00c0 GtkWidget: Store GtkStyleContext in private struct. 2010-12-04 15:38:19 +01:00
Carlos Garnacho
5bbab9872d GtkStyleContext: Cache style properties accross class/region changes. 2010-12-04 15:38:19 +01:00
Carlos Garnacho
88b78953b6 GtkContainer: Add method to get the GtkWidgetPath for a child.
This is now used throughout in order to have the full path for a given widget,
including intermediate named regions, the default implementation just returns
the GtkContainer's path copy, no intermediate regions between.
2010-12-04 15:38:19 +01:00
Carlos Garnacho
c575733eda GtkStyleContext: Fix animation framework to work with the new draw() semantics.
Invalidation region coalescing now happens recursively as draw() runs, and the
widget's x/y as now drawing coordinates are 0,0 based.
2010-12-04 15:38:18 +01:00
Carlos Garnacho
f9788eb173 GtkCssProvider: Add support for @import rules
Now other CSS files can be referenced from the currently parsed file:

@import url (other-file.css);
@import url (/some/file.css);
2010-12-04 15:38:18 +01:00
Carlos Garnacho
0ef48c0bde GtkCssProvider: no need for resetting the parser prior to parsing data
This is done anyway on each iteration to parse_rule() in parse_stylesheet()
2010-12-04 15:38:18 +01:00
Carlos Garnacho
8e96e4e41f GtkCssProvider: improve file paths parser.
It will now return a full path, and check about the file being sane.
2010-12-04 15:38:18 +01:00
Carlos Garnacho
1772b00e85 GtkCssProvider: Transform custom colors to a @define-color rule.
Given there are other rules such as @import (which will be supported),
keep a sane namespace here, so for (re)defining a color name, in the CSS
file it will look like:

@define-color color-name #fff;
@define-color other-color mix (@color-name, #f00, 0.4);
2010-12-04 15:38:18 +01:00
Carlos Garnacho
a1a90396b7 GtkThemingEngine: Do not return a const GtkThemingEngine on load() 2010-12-04 15:38:18 +01:00
Carlos Garnacho
5c2cf1e934 Plug some leaks. 2010-12-04 15:38:18 +01:00
Carlos Garnacho
5c8a818671 Fix typo in the Gtk9Slice parser. 2010-12-04 15:38:17 +01:00
Carlos Garnacho
5b11d14a49 GtkButton: Notify on prelight state change. 2010-12-04 15:38:17 +01:00
Carlos Garnacho
908babd8ae GtkThemingEngine: Implement animations between gradients/colors. 2010-12-04 15:38:17 +01:00
Carlos Garnacho
d8187b34bb GtkSymbolicColor: Use G_DEFINE_BOXED_TYPE 2010-12-04 15:38:17 +01:00
Carlos Garnacho
7583f31609 GtkStyleContext: Store animation region for a bunch of paint operations. 2010-12-04 15:38:17 +01:00
Carlos Garnacho
fecc079087 GtkStyleContext: Invalidate whole window if no invalidation region is obtained. 2010-12-04 15:38:17 +01:00
Carlos Garnacho
20051e02eb GtkCssProvider: use mapped file to read CSS files. 2010-12-04 15:38:16 +01:00
Carlos Garnacho
80cf01c271 GtkCssProvider: unset filename on load_from_data() 2010-12-04 15:38:16 +01:00
Carlos Garnacho
96e5a02148 GtkThemingEngine: Use border-image to render borders if an image is available. 2010-12-04 15:38:16 +01:00
Carlos Garnacho
7ee564c7cd GtkCssProvider: Add a parser for 9slice typed properties.
The value it parses is similar to the border-image CSS3 property,
so strings like this will be accepted:

  border-image: url (foo.png) 4 3 4 3 repeat repeat;

the image path is relative to the parsed CSS file dirname if no
absolute path is provided.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
f363e31a09 Register the border-image property
It will contain a 9-sliced image, so it can be rendered as rectangles with any
dimensions.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
089f375cdb Add Gtk9Slice
This is a private boxed object to contain information about a border image
in order to render it in a size independent way.
2010-12-04 15:38:16 +01:00
Carlos Garnacho
cc68e62e24 GtkSettings: Add a new provider for the theme CSS file. 2010-12-04 15:38:16 +01:00
Carlos Garnacho
ac73a8f7a8 GtkStyleContext: Add gtk_style_context_reset_widgets()
This function recalculates the style for all widgets on a screen.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
679ff63d5c GtkCssProvider: Add gtk_css_provider_get_named()
This functions loads a CSS file from a installed theme.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
a07fe2c0e6 Add generic providers per-screen.
The providers are added as soon as gtk GtkSettings object for the screen
is created.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
1e66155aec GtkStyleContext: invalidate context when setting the screen 2010-12-04 15:38:14 +01:00
Carlos Garnacho
8dfa0e03ea GtkWidget: Set style context's screen before the widget_path.
This is so the style context has all necessary information before
triggering a style change on setting the path.
2010-12-04 15:38:14 +01:00
Carlos Garnacho
49ac732a18 GtkStyleContext: Add gtk_style_context_[add|remove]_provider_for_screen()
These functions allow per-screen style providers. also, the changed signal
will be emitted whenever a style context changes.
2010-12-04 15:38:14 +01:00
Carlos Garnacho
f239704094 GtkWidget: Add gtk_widget_reset_style().
This function is analogous to gtk_widget_reset_rc_styles(),
updates style recursively on a widget.
2010-12-04 15:38:13 +01:00
Carlos Garnacho
3c390c9c8e GtkWidget: Add the style-updated signal
This signal is emitted whenever the widget's style changes.
2010-12-04 15:38:13 +01:00
Carlos Garnacho
77ccdfc94e GtkStyle: Protect against padding being NULL 2010-12-04 15:38:13 +01:00
Carlos Garnacho
9f84e101bf GtkStyleContext: Add gtk_style_context_invalidate().
This function will regenerate all styling information.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
756bbf526f GtkStyleSet: Fix typo 2010-12-04 15:38:12 +01:00
Carlos Garnacho
58b6e538c9 GtkThemingEngine: use background-image in render_background() 2010-12-04 15:38:12 +01:00
Carlos Garnacho
2794e8d6dd GtkStyleSet: Register a "background-image" property.
Ironically, it currently just handles gradients, the name is to conform
to current CSS gradient implementation trends.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
cf87923d1b GtkStyleSet: Handle GtkGradients as a replacement for cairo_pattern_t
The former will handle GtkSymbolicColors, which will be resolved and
cached at query time.
2010-12-04 15:38:12 +01:00
Carlos Garnacho
3fc5c87bcb GtkCssProvider: Add a parser for gradients. 2010-12-04 15:38:12 +01:00
Carlos Garnacho
142a72637d Add GtkGradient.
This type defines a gradient between 2 symbolic colors, with any number
of color stop between these. At the moment it has been put besides
GtkSymbolicColor, although should be completely private, it will likely
need extending in the future for radial gradients.

At some point, it maybe should also be used for images, so painting
both a gradient and an image is consistent.
2010-12-04 15:38:11 +01:00
Carlos Garnacho
74de1839a4 GtkStyleSet: Set an empty default_value if none is provided. 2010-12-04 15:38:11 +01:00
Carlos Garnacho
c908e263ac GtkCssProvider: strip whitespaces in symbolic color values. 2010-12-04 15:38:11 +01:00
Carlos Garnacho
f12d7409cc Allow linefeeds in property values. 2010-12-04 15:38:11 +01:00
Carlos Garnacho
02a30118c6 Add a boxed type for cairo_pattern_t. 2010-12-04 15:38:11 +01:00
Carlos Garnacho
621a95f515 GtkSettings: implement GtkStyleProvider 2010-12-04 15:38:11 +01:00
Carlos Garnacho
58a51bca97 GtkStyle: Fill in x/ythickness and font_desc from the style context. 2010-12-04 15:38:11 +01:00
Carlos Garnacho
643abe3127 GtkStyleSet: Register "margin" property. 2010-12-04 15:38:10 +01:00
Carlos Garnacho
585afafa39 Add basic parser for GtkBorder properties.
Different units aren't supported, it takes 1 to 4 integers representing
pixel distances.
2010-12-04 15:38:10 +01:00
Carlos Garnacho
846f67d805 GtkStyle: Allow GTK_ARROW_NONE. 2010-12-04 15:38:10 +01:00
Carlos Garnacho
7e7347d1a0 GtkNotebook: invert tab drawing order so region flags are set correctly. 2010-12-04 15:38:10 +01:00
Carlos Garnacho
78a98decae Get rid of GdkPangoRenderer code in GtkThemingEngine. 2010-12-04 15:38:10 +01:00
Carlos Garnacho
f058359182 Replace GdkRegion and GdkRectangle with their cairo counterparts. 2010-12-04 15:38:09 +01:00
Carlos Garnacho
c9d626523d Remove gtkalias from style context code. 2010-12-04 15:38:09 +01:00
Carlos Garnacho
9dfba95f09 GtkCssProvider: Add gtk_css_provider_load_from_path() 2010-12-04 15:38:09 +01:00
Carlos Garnacho
0ce649e965 Plug a bunch of leaks. 2010-12-04 15:38:09 +01:00
Carlos Garnacho
91904f6778 GtkButton: Notify on active state when (un)depressed 2010-12-04 15:38:09 +01:00
Carlos Garnacho
9b949479b3 GtkThemingEngine: Animate checkboxes activation. 2010-12-04 15:38:09 +01:00
Carlos Garnacho
7519ed278b GtkThemingEngine: Add progress arg to gtk_theming_engine_is_state_set() 2010-12-04 15:38:09 +01:00
Carlos Garnacho
3c07e3d3df GtkWidget: Update GtkStyleContext animation regions on allocation change. 2010-12-04 15:38:08 +01:00
Carlos Garnacho
61a0544b8b GtkStyleContext: Add animation machinery.
Animation regions are confined through gtk_style_context_[push|pop]_animatable_region,
anything that's painted between these calls will be invalidated if an animation starts
for any of the regions in the stack.

gtk_style_context_notify_state_change() may be called from widgets to indicate a
change for a given GtkStateType, in that case an animation will be started if there
is an animation description for the widget/state.
2010-12-04 15:37:38 +01:00
Carlos Garnacho
bbd0c5a2a2 GtkStyleContext: Declare gtk_style_context_list_classes() in header. 2010-12-04 15:37:38 +01:00
Carlos Garnacho
52baa7d51e GtkCssProvider: Parse properties of type GtkAnimationDescription. 2010-12-04 15:37:38 +01:00
Carlos Garnacho
114f30b772 GtkStyleSet: Register the "transition" property. 2010-12-04 15:37:38 +01:00
Carlos Garnacho
ed840e73e4 Add GtkAnimationDescription as a private boxed object.
This struct will be used to represent an animation in GtkStyleSet. It
will only be used internally in GtkStyleContext in order to trigger
animations, engines shouldn't need this.
2010-12-04 15:37:37 +01:00
Carlos Garnacho
2e2c07b695 Add GtkTimeline as a private object.
This will only be used internally by GtkStyleContext in order
to animate state changes. When a proper animation framework is
introduced in GTK+, it may be ditched.
2010-12-04 15:37:37 +01:00
Carlos Garnacho
4781f94de2 Move all theming stack to use GtkStateFlags.
This support goes from the theming engines, which are able to retrieve
style for different combined states to the CSS provider, where several
state pseudo-classes may be specified, such as:

GtkButton:active:prelight {}
2010-12-04 15:37:37 +01:00
Carlos Garnacho
2c7c4d9a51 GtkStyleContext: Return insertion position if not found when matching classes/regions 2010-12-04 15:37:37 +01:00
Carlos Garnacho
11ac0cb3e1 GtkStyle: set the active flag depending on shadow_type in draw_box(). 2010-12-04 15:37:37 +01:00
Carlos Garnacho
bccec3ef0c GtkCssProvider: Use class for tooltips. 2010-12-04 15:37:36 +01:00
Carlos Garnacho
74697d91fe GtkCssProvider: Parse and match class info. 2010-12-04 15:37:36 +01:00
Carlos Garnacho
27c91622f6 Set classes info in GtkWidgetPath. 2010-12-04 15:37:36 +01:00
Carlos Garnacho
2dabf20cfd GtkStyleContext: Add gtk_style_context_list_classes(). 2010-12-04 15:37:36 +01:00
Carlos Garnacho
8a1b6e8224 GtkWidgetPath: Add methods to include class info in paths. 2010-12-04 15:37:36 +01:00
Carlos Garnacho
a3637ec60d s/child class/region/ everywhere.
"Child class" is an invented term anyway, and it conceptually defines
identifiable regions in widgets.
2010-12-04 15:37:35 +01:00
Carlos Garnacho
198d75bea5 GtkStyleContext: Rename internal struct.
GtkStyleRegion has been renamed to GtkStyleInfo, as it doesn't really
have much to do with regions itself, the information it contains does.
This struct is used in save/restore.
2010-12-04 15:37:35 +01:00
Carlos Garnacho
e04dfd4d6d GtkThemingEngine: Add gtk_theming_engine_register_property().
This function may be used for custom property registration from
theming engines. The property names will have the
-${engine-type-name}-${prop-name} format, the parser has been
modified to allow properties with '-' as the first char.
2010-12-04 15:37:35 +01:00
Carlos Garnacho
d9e3782391 GtkStyleSet: Fix compiler warning. 2010-12-04 15:37:35 +01:00
Carlos Garnacho
355f0d69ab GtkStyleSet: Allow custom parsers on registered properties. 2010-12-04 15:37:35 +01:00
Carlos Garnacho
99224c9eec GtkCssProvider: Parse correctly widget types with a name.
There's now a distinction between:

GtkLabel#label-name: Label with name "label-name"
GtkWindow #label-name: Window containing a widget named "label-name"
2010-12-04 15:37:34 +01:00
Carlos Garnacho
56e4ffabea Compare widget names as GQuarks in style matching. 2010-12-04 15:37:34 +01:00
Carlos Garnacho
09d8592b5b GtkWidgetPath: Make API more consistent. 2010-12-04 15:37:34 +01:00
Carlos Garnacho
ad08330fae Compare region names as quarks in style matching. 2010-12-04 15:37:34 +01:00
Carlos Garnacho
d47d3d0200 GtkCssProvider: Set child combinators in default CSS. 2010-12-04 15:37:34 +01:00
Carlos Garnacho
5f77ead9c6 GtkCssProvider: Parse and compare widget names. 2010-12-04 15:37:33 +01:00
Carlos Garnacho
52878c45b5 GtkCssProvider: Don't jump too eagerly to the next element when comparing selectors. 2010-12-04 15:37:33 +01:00
Carlos Garnacho
85dbc71921 GtkCssProvider: Immediately bail out if GType couldn't be resolved. 2010-12-04 15:37:33 +01:00
Carlos Garnacho
9ebbc7b5c5 GtkCssProvider: Small optimization. 2010-12-04 15:37:33 +01:00
Sven Herzberg
c001833ed1 GtkCssProvider: don't ignore custom attributes
* gtk/gtkcssprovider.c: don't ignore custom attribites (which can be
  added by theme engines)
2010-12-04 15:37:33 +01:00
Sven Herzberg
27bc581dca GtkWidgetPath: properly use const
* gtk/gtkwidgetpath.c,
* gtk/gtkwidgetpath.h: use const where possible
2010-12-04 15:37:32 +01:00
Carlos Garnacho
b6226cb7b9 GtkThemingEngine: Render correctly spinbutton buttons. 2010-12-04 15:37:32 +01:00
Carlos Garnacho
dd8da82d1e GtkStyle: set junction details in spinbutton buttons. 2010-12-04 15:37:32 +01:00
Carlos Garnacho
8c117b1638 GtkThemingEngine: Add gtk_theming_engine_get_junction_sides(). 2010-12-04 15:37:31 +01:00
Carlos Garnacho
9108739c9b GtkStyleContext: Add gtk_style_context_[gs]et_junction_sides().
These functions will help widgets specify how does one element being painted
relate to other contiguous elements.
2010-12-04 15:37:31 +01:00
Carlos Garnacho
d9b42ce50f Add GtkJunctionSides flags. 2010-12-04 15:37:30 +01:00
Carlos Garnacho
143c4b3b60 GtkStyleContext: Add gtk_style_context_lookup_color().
gtk_style_lookup_color() now uses this function internally.
2010-12-04 15:37:30 +01:00
Carlos Garnacho
b4a24d6457 GtkStyleSet: Register the "border" property. 2010-12-04 15:37:29 +01:00
Carlos Garnacho
78cc97f7b3 GtkThemingEngine: fix typo in function declaration. 2010-12-04 15:37:28 +01:00
Carlos Garnacho
fcf12ff9b9 GtkThemingEngine: Add gtk_theming_engine_get_direction(). 2010-12-04 15:37:28 +01:00
Carlos Garnacho
978d97ea6f GtkWidget: Set style context direction. 2010-12-04 15:37:27 +01:00
Carlos Garnacho
dc216ffb00 GtkStyleContext: Add gtk_style_context_[gs]et_direction(). 2010-12-04 15:37:27 +01:00
Carlos Garnacho
e15dc89f89 GtkWidget: Add the default CSS provider to all style contexts. 2010-12-04 15:37:27 +01:00
Carlos Garnacho
85398fc05f GtkCssProvider: Add gtk_css_provider_get_default().
This method returns a GtkCssProvider with the default style information
loaded.
2010-12-04 15:37:26 +01:00
Carlos Garnacho
bd6751230a GtkStyle: Move gtk_render_* calls to default vmethod implementations. 2010-12-04 15:37:26 +01:00
Carlos Garnacho
9255e20bf8 GtkWidget: Create GtkStyle on top of GtkStyleContext. 2010-12-04 15:37:26 +01:00
Carlos Garnacho
6c549fecd3 GtkWidget: Construct style for partial widget hierarchies.
Some unparented widgets like to ask style details, so now the style is
constructed regardless of the parent being present or not, and then
reconstructed if the parent changes.
2010-12-04 15:37:25 +01:00
Carlos Garnacho
09d6c4ea52 GtkStyle: Optionally construct above a GtkStyleContext. 2010-12-04 15:37:25 +01:00
Carlos Garnacho
1e83e52b3d GtkThemingEngine: Add code to render GtkFrame frame with gap. 2010-12-04 15:37:24 +01:00
Carlos Garnacho
d858801ec3 GtkThemingEngine: Obey active/selected when rendering text. 2010-12-04 15:37:24 +01:00
Carlos Garnacho
5510f24cc1 GtkThemingEngine: Rip out focus rendering from old code. 2010-12-04 15:37:24 +01:00
Carlos Garnacho
eadaded374 GtkThemingEngine: Rip out expander rendering from old code. 2010-12-04 15:37:24 +01:00
Carlos Garnacho
d22f393be3 GtkThemingEngine: Render frames and spinbutton boxes properly. 2010-12-04 15:37:24 +01:00
Carlos Garnacho
7482b636e6 GtkThemingEngine: Improve background rendering.
Now active and selected states are taken into account, and GtkSpinButton
buttons are special cased.
2010-12-04 15:37:23 +01:00
Carlos Garnacho
911431c0b2 GtkThemingEngine: Improve pixel alignment in arrows. 2010-12-04 15:37:23 +01:00
Carlos Garnacho
c18ee462e3 GtkThemingEngine: Add methods to retrieve widget style properties. 2010-12-04 15:37:23 +01:00
Carlos Garnacho
0dc81b9a35 GtkStyleSet: Allow setting default value when registering properties.
This is now used for the "engine" keyword, where the default engine is used
if none is specified.
2010-12-04 15:37:23 +01:00
Carlos Garnacho
c712480912 GtkStyleContext: Add varargs functions for getting widget style properties. 2010-12-04 15:37:23 +01:00
Carlos Garnacho
5f2e8bc0d1 GtkStyleContext: Ensure style rebuilds after adding/removing classes. 2010-12-04 15:37:23 +01:00
Carlos Garnacho
7748b1d2de GtkStyleContext: ensure class lookup return the correct insertion position if not found. 2010-12-04 15:37:22 +01:00
Carlos Garnacho
0813a2283e GtkCssProvider: Allow '_' in the middle of symbolic color names. 2010-12-04 15:37:22 +01:00
Carlos Garnacho
227c500dce GtkThemingEngine: Improve slider rendering. 2010-12-04 15:37:22 +01:00
Carlos Garnacho
44373ec551 GtkThemingEngine: Cairo-ify frame rendering from GtkStyle. 2010-12-04 15:37:22 +01:00
Carlos Garnacho
8771f46dae GtkThemingEngine: Cairo-ify frame_gap rendering from GtkStyle. 2010-12-04 15:37:22 +01:00
Carlos Garnacho
7d2b51f147 GtkThemingEngine: Cairo-ify extension rendering from GtkStyle. 2010-12-04 15:37:21 +01:00
Carlos Garnacho
4772b67563 GtkThemingEngine: Make render_background use drawing primitives. 2010-12-04 15:37:21 +01:00
Carlos Garnacho
1b556aa4d1 GtkThemingEngine: Unify code to render lines. 2010-12-04 15:37:21 +01:00
Carlos Garnacho
75b059a3f2 GtkThemingEngine: Add cairo-ified rendering primitives.
Functions to add paths for lines, rectangle sides, and the gap side in notebooks
have been added.
2010-12-04 15:37:20 +01:00
Carlos Garnacho
5cdb3f0e90 GtkThemingEngine: Cairo-ify handle rendering from GtkStyle. 2010-12-04 15:37:20 +01:00
Carlos Garnacho
9261c2a9d7 GtkThemingEngine: Take option rendering from GtkStyle. 2010-12-04 15:37:20 +01:00
Carlos Garnacho
4e45e9099e GtkThemingEngine: Take checkbox rendering from GtkStyle. 2010-12-04 15:37:19 +01:00
Carlos Garnacho
27f5257d49 GtkStyleContext: Don crash on empty class sets. 2010-12-04 15:37:19 +01:00
Carlos Garnacho
038bcdcdb6 GtkThemingEngine: Use GdkPangoRenderer when painting layouts. 2010-12-04 15:37:19 +01:00
Carlos Garnacho
475f0fc266 GtkStyleContext: Add gtk_style_context_save/restore().
This API will be used to have savepoints when adding and removing
style classes information.
2010-12-04 15:37:18 +01:00
Carlos Garnacho
4a465d279d GtkThemingEngine: Add gtk_theming_engine_get_screen(). 2010-12-04 15:37:18 +01:00
Carlos Garnacho
5db7197c27 GtkWidget: Set screen info in GtkStyleContext. 2010-12-04 15:37:18 +01:00
Carlos Garnacho
758c3e18cc GtkStyleContext: Add gtk_style_context_[gs]et_screen() 2010-12-04 15:37:17 +01:00
Carlos Garnacho
41650933fd GtkStyleContext: Add priv pointer to object struct. 2010-12-04 15:37:17 +01:00
Carlos Garnacho
10f6c04f33 GtkStyleSet: Add priv pointer to object struct. 2010-12-04 15:37:17 +01:00
Carlos Garnacho
875237187c GtkCssProvider: Add priv pointer to object struct. 2010-12-04 15:37:17 +01:00
Carlos Garnacho
51a8f642da Fix include. 2010-12-04 15:37:16 +01:00
Carlos Garnacho
a256171d34 GtkStyleContext: Add gtk_style_context_lookup_icon_set(). 2010-12-04 15:37:16 +01:00
Carlos Garnacho
318e0f28ee GtkStyleProvider: Add gtk_style_provider_get_icon_factory().
With this, style providers have a way to override default icon theme.
2010-12-04 15:37:16 +01:00
Carlos Garnacho
be5d4adf6b GtkCssProvider: Allow symbolic colors when parsing style rules. 2010-12-04 15:37:15 +01:00
Carlos Garnacho
1de8f75517 GtkCssProvider: Parse color mappings.
These are of the form:

@color-a: #fff;
@color-b: mix (@color-a, #000, 0.5)
@color-c: shade (@color-b, 0.7)

In the stylesheet, arbitrary nesting of these commands is handled.
2010-12-04 15:37:15 +01:00
Carlos Garnacho
4ed96df96a GtkStyleSet: Optionally take GtkSymbolicColors.
gtk_style_set_set_property() now takes both GdkColor and GtkSymbolicColor
GValues, All accessors still return GdkColors, so any symbolic color will
be resolved and replaced in the styleset at that time.
2010-12-04 15:37:15 +01:00
Carlos Garnacho
b8fb2d1a36 GtkSymbolicColor: Add method to resolve to a GdkColor. 2010-12-04 15:37:15 +01:00
Carlos Garnacho
e2b8efcbec GtkStyleSet: Add API to map symbolic colors. 2010-12-04 15:37:15 +01:00
Carlos Garnacho
7094213df9 Add GtkSymbolicColor.
This is a small boxed struct used to store symbolic colors so they
can be resolved at a later point.
2010-12-04 15:37:14 +01:00
Carlos Garnacho
d748ea983d GtkWidgetPath: Add to gtkalias. 2010-12-04 15:37:14 +01:00
Carlos Garnacho
b50c88d170 GtkCssProvider: Plug memory leak. 2010-12-04 15:37:14 +01:00
Carlos Garnacho
2cd4ff4215 GtkCssProvider: Fix compile warning. 2010-12-04 15:37:14 +01:00
Carlos Garnacho
1d4687675f GtkCssProvider: set scanner->input_name. 2010-12-04 15:37:13 +01:00
Carlos Garnacho
6c91ba1cc2 GtkWidget: Do not reset GtkStyleContext per get_style_context(). 2010-12-04 15:37:13 +01:00
Carlos Garnacho
22bae20ce8 GtkWidget: Hook up widget style property querying to style context. 2010-12-04 15:37:13 +01:00
Carlos Garnacho
03370c6e0c GtkStyleContext: Add methods to get style property values. 2010-12-04 15:37:13 +01:00
Carlos Garnacho
bf12227435 GtkCssProvider: Implement GtkStyleProvider->get_style_property
Style properties in the resource files are something like:

-GtkComboBox-appears-as-string
-GtkEntry-icon-prelight

Following the usual naming spec for extensions to CSS.
2010-12-04 15:37:13 +01:00
Carlos Garnacho
37335fbb6f GtkWidgetPath: Add methods to check topmost widget type. 2010-12-04 15:37:12 +01:00
Carlos Garnacho
6990a01299 GtkStyleProvider: Add method to get widget style properties. 2010-12-04 15:37:12 +01:00
Carlos Garnacho
eaddc9f254 GtkCssProvider: refactor out selector matching. 2010-12-04 15:37:12 +01:00
Carlos Garnacho
eec75f1f59 GtkCssProvider: Ensure each scope has its parser config. 2010-12-04 15:37:12 +01:00
Carlos Garnacho
ff05cc4849 GtkCssProvider: Parse boolean values. 2010-12-04 15:37:12 +01:00
Carlos Garnacho
aa5ec97cac GtkCssProvider: Make additions to parse_value() less error prone. 2010-12-04 15:37:11 +01:00
Carlos Garnacho
814957021f Fix compile warning. 2010-12-04 15:37:11 +01:00
Carlos Garnacho
66d1cb8054 GtkStyleSet: Register GtkThemingEngine type.
This has been also hooked up to the CSS provider, which parses the "engine"
value to load the corresponding module.
2010-12-04 15:37:11 +01:00
Carlos Garnacho
327a9fc66a GtkWidget: Generate GtkWidgetPath on set_parent.
There's no need to wait for realize() to have the right widget style.
2010-12-04 15:37:11 +01:00
Carlos Garnacho
6906138e45 GtkStyleSet: Remove default value for registered properties.
This should be handled at a higher level, a single default value for all
states isn't that useful...
2010-12-04 15:37:10 +01:00
Carlos Garnacho
80e01becbe Fix compilation. 2010-12-04 15:37:10 +01:00
Carlos Garnacho
a323310c19 GtkNotebook: Set GtkChildClassFlags for tabs. 2010-12-04 15:37:10 +01:00
Carlos Garnacho
e899fdd973 GtkCssProvider: Set default value if no state pseudo-class is specified. 2010-12-04 15:37:10 +01:00
Carlos Garnacho
66accc4184 GtkStyleSet: Add gtk_style_set_set_default().
This will set the default value to a given property for all possible states,
such default value will only be used if the queried state doesn't have a
value itself.
2010-12-04 15:37:10 +01:00
Carlos Garnacho
bd9bd1310b GtkStyleContext: Fix compiler warning. 2010-12-04 15:37:09 +01:00
Carlos Garnacho
17908880b5 GtkStyle: Use new render methods underneath.
This commit should probably be squashed in the future, when GtkStyleContext
is on par with it, and GtkStyle is just a shallow object on top of
GtkStyleContext and calling it in the default implementation methods, so
all gtk_paint_* and gtk_draw_* would work.
2010-12-04 15:37:09 +01:00
Carlos Garnacho
f5adc2a1c3 Add region details in gtk_widget_get_path(). 2010-12-04 15:37:09 +01:00
Carlos Garnacho
cf27f6f1cf GtkStyleContext: fix typos in code.
The wrong list was being modified in gtk_style_context_set_child_class(),
and gtk_style_context_has_child_class() was checking for *flags != 0, not
flags != NULL.
2010-12-04 15:37:09 +01:00
Carlos Garnacho
104caa74f0 GtkStyleContext: Add gtk_style_context_list_child_classes(). 2010-12-04 15:37:09 +01:00
Carlos Garnacho
67c4f8d02e GtkCssProvider: Compare GtkWidgetPath regions with css. 2010-12-04 15:37:08 +01:00
Carlos Garnacho
977a972358 GtkCssProvider: fix parsing of consecutive pseudo-classes.
Now either of foo{}, foo:first-child{}, foo:nth-child(even):insensitive or
foo:active{} will be correctly parsed.
2010-12-04 15:37:08 +01:00
Carlos Garnacho
0be4659c5d GtkCssProvider: move to next selector element on match or child combinator. 2010-12-04 15:37:08 +01:00
Carlos Garnacho
bc0af3208d GtkCssProvider: free selector path on parse_rule(). 2010-12-04 15:37:08 +01:00
Carlos Garnacho
07171d5f68 GtkCssProvider: Add named regions to selector path. 2010-12-04 15:37:08 +01:00
Carlos Garnacho
707d5ae99c GtkCssProvider: Parse named regions. 2010-12-04 15:37:07 +01:00
Carlos Garnacho
11c874619b GtkWidgetPath: Add API for named regions. 2010-12-04 15:37:07 +01:00
Carlos Garnacho
71949e05c4 Refurbish GtkWidgetPath API.
The foreach() function is now gone, there's now API to get
GTypes and names from the position in the path.
2010-12-04 15:37:07 +01:00
Carlos Garnacho
f60e3f3a8a Move GtkChildClassFlags to gtkenums.h. 2010-12-04 15:37:06 +01:00
Carlos Garnacho
8c03503d16 GtkCssProvider: Add support for child/descendant combinators.
Now, selectors like:

  GtkWindow > GtkButton {}
  GtkNotebook > GtkLabel {}

will represent a direct parent/child relation between both elements, while

  GtkWindow GtkButton {}
  GtkNotebook GtkLabel {}

will allow intermediate children between these.
2010-12-04 15:37:06 +01:00
Carlos Garnacho
d691e79cbf GtkCssProvider: Fix typo freeing SelectorElements. 2010-12-04 15:37:05 +01:00
Carlos Garnacho
abbeb89b7c GtkCssProvider: Allow empty selector.
universal selector is implied, so things like this work:

:active {}
:insensitive{}
2010-12-04 15:37:05 +01:00
Carlos Garnacho
4c8353bcbf GtkCssProvider: Allow '*' selectors.
These would match a single widget of any type.
2010-12-04 15:37:04 +01:00
Carlos Garnacho
468f216b1c GtkCssProvider: Add state parsing.
Now state is now defined as a pseudoclass in the CSS format, selectors like:

GtkWidget:active { }
GtkButton:insensitive { }
GtkCalendar:prelight { } (also :hover is accepted)
...

define the style for the given state.
2010-12-04 15:37:03 +01:00
Carlos Garnacho
7dada9949d GtkWidget: Create GtkCssProvider for user modifications.
~/.gtk-X.0.css is checked, and added as a style resource if available.
2010-12-04 15:37:03 +01:00
Carlos Garnacho
82f485afd9 GtkStyleProvider: Add defines for most common priorities. 2010-12-04 15:37:02 +01:00
Carlos Garnacho
bccad0c65c Added GtkCssProvider.
GtkCssProvider is a GtkStyleProvider implementation which is able to read
CSS-like input to style widgets.

At the moment, only the basic parser features are available.
2010-12-04 15:37:02 +01:00
Carlos Garnacho
7c5c4d86ae Add GtkWidgetPath parameter to gtk_style_provider_get_style(). 2010-12-04 15:37:02 +01:00
Carlos Garnacho
9971f386b0 GtkStyleSet: Add method to lookup property default settings. 2010-12-04 15:37:01 +01:00
Carlos Garnacho
7647deb417 GtkStyleSet: Make property registration take const GValues. 2010-12-04 15:37:01 +01:00
Carlos Garnacho
fdcda4b356 GtkStyleContext: allow late set_path() calls.
Now the properties will only be regenerated whenever there's a GtkWidgetPath
to query about.
2010-12-04 15:37:00 +01:00
Carlos Garnacho
bdadcb568c GtkStyleContext: Fix compiler warning. 2010-12-04 15:37:00 +01:00
Carlos Garnacho
f984c39e93 GtkStyleContext: Fix typo. 2010-12-04 15:37:00 +01:00
Carlos Garnacho
f8c74ae54b GtkStyleContext: Add gtk_render_handle(). 2010-12-04 15:36:59 +01:00
Carlos Garnacho
9e5d9ff28d GtkThemingEngine: Add vmethod to render a handle area. 2010-12-04 15:36:59 +01:00
Carlos Garnacho
160821042c GtkStyleContext: Add gtk_render_extension(). 2010-12-04 15:36:59 +01:00
Carlos Garnacho
aa1d492fe9 GtkThemingEngine: Add vmethod to render an extension. 2010-12-04 15:36:58 +01:00
Carlos Garnacho
88492a50d6 GtkStyleContext: Add gtk_render_frame_gap(). 2010-12-04 15:36:58 +01:00
Carlos Garnacho
af1edc3d88 GtkThemingEngine: Add vmethod to render frames with a gap. 2010-12-04 15:36:58 +01:00
Carlos Garnacho
6a1b54f8bf GtkStyleContext: Add gtk_render_slider(). 2010-12-04 15:36:57 +01:00
Carlos Garnacho
2ebdf80adc GtkThemingEngine: Add vmethod to render sliders. 2010-12-04 15:36:57 +01:00
Carlos Garnacho
86727adc4d GtkStyleContext: Add gtk_render_line(). 2010-12-04 15:36:57 +01:00
Carlos Garnacho
b8f6617d99 GtkThemingEngine: Add vmethod to render lines. 2010-12-04 15:36:56 +01:00
Carlos Garnacho
f80fbbd829 GtkStyleContext: Add gtk_render_layout(). 2010-12-04 15:36:56 +01:00
Carlos Garnacho
92994a0129 GtkThemingEngine: Add vmethod to render layouts. 2010-12-04 15:36:56 +01:00
Carlos Garnacho
0486f5bbc0 GtkStyleContext: Add gtk_render_focus(). 2010-12-04 15:36:56 +01:00
Carlos Garnacho
8439537e2f GtkThemingEngine: Add vmethod to render focus indicator. 2010-12-04 15:36:55 +01:00
Carlos Garnacho
9c3b079c1c GtkStyleContext: Add gtk_render_expander(). 2010-12-04 15:36:55 +01:00
Carlos Garnacho
19fdaabf4c GtkThemingEngine: Add vmethod to render expanders. 2010-12-04 15:36:55 +01:00
Carlos Garnacho
b4c8eba480 GtkStyleContext: Add gtk_render_frame(). 2010-12-04 15:36:55 +01:00
Carlos Garnacho
48990bc71c GtkThemingEngine: Add vmethod to render frames. 2010-12-04 15:36:54 +01:00
Carlos Garnacho
25488633ec GtkStyleContext: Add gtk_render_background(). 2010-12-04 15:36:54 +01:00
Carlos Garnacho
13812de971 GtkThemingEngine: Add vmethod to render backgrounds. 2010-12-04 15:36:54 +01:00
Carlos Garnacho
01a8e06842 GtkStyleContext: Add gtk_render_arrow(). 2010-12-04 15:36:54 +01:00
Carlos Garnacho
b7ca7d19ee GtkThemingEngine: Add vmethod to render arrows. 2010-12-04 15:36:54 +01:00
Carlos Garnacho
1c15b140a9 GtkStyleContext: Add gtk_render_option(). 2010-12-04 15:36:53 +01:00
Carlos Garnacho
263f6de0e5 GtkThemingEngine: Add vmethod to render radio buttons. 2010-12-04 15:36:53 +01:00
Carlos Garnacho
401625b8b3 GtkStyleContext: Add gtk_render_check(). 2010-12-04 15:36:53 +01:00
Carlos Garnacho
acf4306bcd GtkThemingEngine: Add vmethod to render checkboxes. 2010-12-04 15:36:53 +01:00
Carlos Garnacho
bf7a9914dd GtkThemingEngine: Add accessors to style classes. 2010-12-04 15:36:53 +01:00
Carlos Garnacho
fe4a6cea73 GtkWidget: Add widget path to style context. 2010-12-04 15:36:53 +01:00
Carlos Garnacho
1d2aa61407 GtkStyleContext: Add child style classes.
Child style classes are like style classes, but with additional positional
information. This would be usually set by the parent container.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
9a76d1a332 GtkStyleContext: Add style classes.
Style classes are the replacement of detail strings.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
bd3b97d82b GtkStyleContext: Relate to a GtkThemingEngine. 2010-12-04 15:36:52 +01:00
Carlos Garnacho
0171c76871 GtkThemingEngine: Add module loading capabilities. 2010-12-04 15:36:52 +01:00
Carlos Garnacho
57be029b15 Add GtkThemingEngine.
GtkThemingEngine will be the theming engines base class, with default
implementations for all paint functions, and readonly access to the
related GtkStyleContext data.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
b7e6ae3983 GtkStyleContext: Add gtk_style_context_[gs]et_path()
This relates a GtkStyleContext with a widget path, so
all style querying would happen based on it.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
9794b6adf9 GtkWidget: Add gtk_widget_get_path().
This function composes and returns a GtkWidgetPath representing
the passed widget.
2010-12-04 15:36:52 +01:00
Carlos Garnacho
61360dfddf Add GtkWidgetPath.
GtkWidgetPath represents a widget path. It will mainly used by theming
engines to know detail about the widget hierarchy without actually
accessing the widget.
2010-12-04 15:36:51 +01:00
Carlos Garnacho
835cc7049c GtkStyleContext: Add getters and setter for state. 2010-12-04 15:36:51 +01:00
Carlos Garnacho
3f93c714ae GtkWidget: Add gtk_widget_get_style_context().
There will be one GtkStyleContext per widget, at the moment its
lifetime is tied to the widget's, but it could be narrowed down
to GTK_WIDGET_REALIZED.
2010-12-04 15:36:51 +01:00
Carlos Garnacho
2e96770e0b Add GtkStateFlags.
It basically represents GtkStateType as a flag set.
2010-12-04 15:36:50 +01:00
Carlos Garnacho
8a7e035ac7 GtkStateType: Add inconsistent and focused state. 2010-12-04 15:36:50 +01:00
Carlos Garnacho
b82355c76e GtkStyleContext: Fix typo. 2010-12-04 15:36:50 +01:00
Carlos Garnacho
28b7782d78 GtkStyleSet: Add method to register border property. 2010-12-04 15:36:50 +01:00
Carlos Garnacho
16484f8459 GtkStyleSet: Add method to register font properties. 2010-12-04 15:36:49 +01:00
Carlos Garnacho
1a3d964615 GtkStyleContext: Add methods to query composed style. 2010-12-04 15:36:49 +01:00
Carlos Garnacho
2da033b18c GtkStyleSet: Return default value if value is not set. 2010-12-04 15:36:49 +01:00
Carlos Garnacho
9fdcbd7a84 GtkStyleSet: Add valist and varargs getters/setters. 2010-12-04 15:36:48 +01:00
Carlos Garnacho
2bf7483e74 GtkStyleSet: Use property GQuark as store keys. 2010-12-04 15:36:48 +01:00
Carlos Garnacho
4c60de4783 GtkStyleSet: Add style property registration funcs.
Also some properties have been added as a default set.
2010-12-04 15:36:48 +01:00
Carlos Garnacho
2b425d89c8 Add GtkStyleContext.
GtkStyleContext will conglomerate the information of several
GtkStyleProviders for widgets and theme engines to query it.
2010-12-04 15:36:48 +01:00
Carlos Garnacho
530ae15f96 gtkstyleset.h: Add declaration for gtk_style_set_merge(). 2010-12-04 15:36:48 +01:00
Carlos Garnacho
f969470ad8 GtkStyleSet: Implement GtkStyleProvider.
As simple as it can get.
2010-12-04 15:36:47 +01:00
Carlos Garnacho
019fa73308 Add GtkStyleProvider, an interface to provide style details.
The get_style() function isn't final yet, further parameters
should be added to query details based on the widget hierarchy,
name, etc.
2010-12-04 15:36:47 +01:00
Carlos Garnacho
f601abd25f Add GtkStyleSet, a store of style properties.
At the moment there's only basic API for adding,
removing and clearing a property. There's also
API to merge 2 GtkStyleSets.
2010-12-04 15:36:47 +01:00
Carlos Garnacho
06288b5ae8 Add GTK_STATE_LAST to mark the end of GtkState enum. 2010-12-04 15:36:47 +01:00
Yaron Shahrabani
0d873a61e5 Updated Hebrew translation 2010-12-04 15:28:27 +02:00
Tristan Van Berkom
1d3961b342 Fixing gtk_cell_area_box_focus().
the ->focus() method was getting mixed up when more than
one cell was in the same group (not aligned), added the
proper check to break out of the loop on time.
2010-12-04 21:49:44 +09:00
Tristan Van Berkom
c4eff8b6b0 Added some "align" checkbuttons to show configurable cell alignments in testtreeedit. 2010-12-04 21:41:48 +09:00
Tristan Van Berkom
bbee4de33d Fixed typo in GtkCellArea docs. 2010-12-04 20:54:36 +09:00
Tristan Van Berkom
b0f849eafd Changed GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID for GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID 2010-12-04 20:52:03 +09:00
Tristan Van Berkom
9c7e00f744 Fixing GtkTreeViewColumn to use the new _gtk_cell_layout_buildable_custom_tag_end correctly. 2010-12-04 17:10:31 +09:00
Tristan Van Berkom
84eb40b57e Added GtkEntryCompletion:cell-area construct property.
- Removed most of GtkCellLayout implementation in favor of ->get_area()
  - This allows GtkBuildable cell layout implementation to implement
    the child "cell-properties"
  - Also allows feeding a custom/different GtkCellArea implementation to
    layout cells.
  - Share the internal area with the created GtkTreeViewColumn.
2010-12-04 16:55:49 +09:00
Tristan Van Berkom
52ba4f49c5 Added boolean return to GtkCellLayout buildable custom tag end shared private function. 2010-12-04 16:53:28 +09:00
Tristan Van Berkom
c8c5ed8fa1 Removing hack and fixing gtk_tree_view_column_cell_get_size().
Now consult gtk_cell_area_context_get_preferred_height().

It can be that height-for-widths requested here were too large
when multiple cells are in play because of the alignments stored
in the context... removing the temporary focus-line-width hack.
2010-12-04 16:04:04 +09:00
Tristan Van Berkom
0f4a2d322b Fixed merge conflicts from cherry-pick of construct-only GtkTreeViewColumn:cell-area property. 2010-12-04 15:52:40 +09:00
Tristan Van Berkom
acc4dd2912 Added GtkTreeViewColumn:cell-area construct-only property.
Allow feeding treeviewcolumn a custom cell-area (or not a custom one,
but allow sharing the cell-area with say, the combo-box area).

This patch also:

 - Fixes signal connections to the area (now they do eventually get
   disconnected at dispose time, they are handled regardless if a
   treeview is set but execute safely, at least there is only one
   connection/disconnection).

 - Fixes refcounting on the cell_area (GtkCellArea is GInitiallyUnowned).

 - Adds a constructor() in order to build the cell-area if one has
   not been provided by the caller before hand at g_object_new()
   construct time.
2010-12-04 15:49:46 +09:00
Tristan Van Berkom
9c6a801f52 Migrated GtkCellLayout documentation into the source code.
Also added a section on specifying <cell-packing> properties
in the GtkCellLayout UI description.
2010-12-04 15:41:42 +09:00
Tristan Van Berkom
7e2571a358 Added "Cell Properties" section to the GtkCellArea documentation. 2010-12-04 15:02:53 +09:00
Tristan Van Berkom
2a41de70b1 Removing an unused variable from GtkCellRendererText->get_preferred_width() 2010-12-04 14:31:45 +09:00
Matthias Clasen
12e5e24c3e Another attempt to fix the gdk symbol list 2010-12-03 23:50:58 -05:00
Matthias Clasen
d998e7761c Update sections 2010-12-03 15:41:37 -05:00
Benjamin Otte
350fb1d55c API: gdk: Rename GdkWindowObjectClass to GdkWindowClass
Be consistent in the naming of objects.
2010-12-03 19:11:13 +01:00
Benjamin Otte
d916398dd2 API: Rename GdkWindowClass to GdkWindowWindowClass
We argued replacing GdkWindowClass with a input_only boolean, but this
is not doable in an API-stable way, so I decided against it.
2010-12-03 19:11:13 +01:00
Matthias Clasen
a996a309c7 One more forgotten symbol 2010-12-03 13:05:23 -05:00
Matthias Clasen
5687d7f880 Update gdk symbol list 2010-12-03 13:04:42 -05:00
Andrej Žnidaršič
3d81af670d Updated Slovenian translation 2010-12-03 18:10:08 +01:00
Matthias Clasen
17e2c5391c Fix up parameter mismatches in the docs
And other minor gdk doc fixes.
2010-12-03 09:07:06 -05:00
Matthias Clasen
4ef86fc500 Add annotation to gdk_screen_get_monitor_geometry
Pointed out by William Jon McCann.
2010-12-03 08:21:48 -05:00
Tristan Van Berkom
c5a60e035d Removed GtkCellAreaBoxPrivate from GtkCellAreaBox section. 2010-12-03 17:21:28 +09:00
Tristan Van Berkom
0fa7477091 Adding documentation for GtkCellAreaBox. 2010-12-03 17:13:31 +09:00
Tristan Van Berkom
9e3ebe4955 Marking GtkCellArea structure portions as /*< private >*/ 2010-12-03 17:12:59 +09:00
Tristan Van Berkom
4c165de31f Added gtk-doc to GtkCellArea & GtkCellAreaContext. 2010-12-03 16:29:11 +09:00
Tristan Van Berkom
b84f5aa4dd Added symbols from 'treeview-refactor' branch to gtk.symbols file. 2010-12-03 16:28:06 +09:00
Michael Natterer
e4cbe47a11 gtk: properly indent calls to gdk_threads_add_timeout() 2010-12-02 23:01:12 +01:00
Bastien Nocera
b1beaa2dea docs: Fix building with latest GDK changes 2010-12-02 21:01:53 +00:00
Matthias Clasen
f5c27476a5 Don't require a display for the color test
Its not really needed, and the build bot doesn't have X...
2010-12-02 16:00:15 -05:00
Benjamin Otte
fdb242ac6a gdk: Clean up Cairo code
Remove a bunch of code that is not required.
2010-12-02 20:21:05 +01:00
Benjamin Otte
0b6c184eaa label: Clarify docs for gtk_label_get_layout() 2010-12-02 20:21:05 +01:00
Benjamin Otte
f9a9567731 gdk: Replace direct calls of _gdk_event_func with _gdk_event_emit()
For now that function just calls the event func.
2010-12-02 20:21:05 +01:00
Benjamin Otte
b3e8504111 x11: Don't include gdkprivate.h in gdkx.h
It's private, mkay?
And include it directly where we need it anyway.
2010-12-02 20:21:05 +01:00
Benjamin Otte
a6b407cf4a gtk: Fix typos in comment 2010-12-02 20:21:05 +01:00
Benjamin Otte
8c6831ab5e gdk: Remove useless macros from gdkprivate.h 2010-12-02 20:21:05 +01:00
Benjamin Otte
f5be938840 gtk: Don't include private GDK headers
Use the function that exists for this purpose instead.
2010-12-02 20:21:05 +01:00
Benjamin Otte
585c489577 gdk: Remove GDK_PANGO_UNITS_OVERFLOWS() from internal headers
It's unused.
2010-12-02 20:21:05 +01:00
Benjamin Otte
4d1604c77d gdk: Move window beeps into GdkWindowImpl
One less magic function. Also refactored it to make it easier to
implement. It now returns TRUE if it beeped and FALSE if it failed to do
so. A default implementation exists that just returns FALSE for all the
backends that can't beep windows (read: everything but X11 with XKB -
and why on earth do keyboard libs implement beeping?)
2010-12-02 20:21:05 +01:00
Benjamin Otte
1269f8424f gdk: Make get_shape and get_input_shape vfuncs
Trying to get rid of all the _gdk_windowing_something() functions that
we expect backends to magically know about and instead put them in a
proper interface (mostly GdkWindowImplClass).
2010-12-02 20:21:04 +01:00
Benjamin Otte
218eea4378 gdk: Remove GdkDrawable
It's unused.
2010-12-02 20:21:04 +01:00
Benjamin Otte
b9fc6a0c03 gdk: Remove remaining includes of gdkdrawable.h 2010-12-02 20:21:04 +01:00
Benjamin Otte
4bfa4e0d86 gdk: Make GdkWindowImpl inherit from GObject 2010-12-02 20:21:04 +01:00
Benjamin Otte
3494f87a10 API: Remove GdkNoExposeEvent
It's not used by anyone and not supported by any backend but X11.
2010-12-02 20:21:04 +01:00
Benjamin Otte
98838df2db gdk: Make GdkWindow->impl a GdkWindowImpl 2010-12-02 20:21:04 +01:00
Benjamin Otte
e3013a5cf5 docs: Replace mentions of drawable with window in migration guide
No need to let gtk3-aware people learn about wonderous gtk2 terms when
they are migrating old code. ;)
2010-12-02 20:21:04 +01:00
Benjamin Otte
d03c94907a docs: Remove overrides for types that don't exist anymore 2010-12-02 20:21:04 +01:00
Benjamin Otte
ba20a00570 tests: Remove disabled testtext example 2010-12-02 20:21:04 +01:00
Benjamin Otte
804c2c8350 cellrenderer: Fix docs to say cairo_t instead of GdkDrawable 2010-12-02 20:21:04 +01:00
Benjamin Otte
17a0a467a1 gdk: Pass the GdkWindow to resize_cairo_surface vfunc
So it's in sync with all the other vfuncs.
2010-12-02 20:21:04 +01:00
Benjamin Otte
e4c27b0a59 API: GdkWindow no longer is a GdkDrawable
Also, name the get_type function properly.
2010-12-02 20:21:03 +01:00
Benjamin Otte
1ad7c5f8c5 x11: Remove unused GDK_DRAWABLE_XROOTWIN macro 2010-12-02 20:21:03 +01:00
Benjamin Otte
2408936bb5 x11: Remove duplicate definition of GDK_WINDOW_XID
Now, where did that come from?
2010-12-02 20:21:03 +01:00
Benjamin Otte
d1700d6e3c gdk: Move ref_cairo_surface from GdkDrawable to GdkWindowImpl
Also make it take the actual GdkWindow, not the implementation, like all
the other vfuncs do.
2010-12-02 20:21:03 +01:00
Benjamin Otte
62d004cf8f gdk: Remove _gdk_drawable_ref_cairo_surface()
Instead, call the vfunc directly from gdkWindow.c
2010-12-02 20:21:03 +01:00
Benjamin Otte
9d2abf81d2 x11: Remove outdated variable definition 2010-12-02 20:21:03 +01:00
Benjamin Otte
1215f70e23 gdk: Remove GdkDrawable->create_cairo_surface vfunc
It's unused.
2010-12-02 20:21:03 +01:00
Benjamin Otte
370d272b13 gdk: Remove _gdk_window_impl_get_type() function
It was only used in the backends, and they can use the correct type
directly.
2010-12-02 20:21:03 +01:00
Benjamin Otte
ac4609ecc9 x11: Fix in_rectangle computation
A point is not in a rectangle when it's at the x + width coordinate.
2010-12-02 20:21:03 +01:00
Benjamin Otte
1bb6f48bb3 gdk: Rename GdkWindowObject to GdkWindow
... and remove most of the casting that used to be necessary.
2010-12-02 20:21:03 +01:00
Benjamin Otte
7acb64f983 gdk: Make GdkWindowImpl a class, not an interface
It's a subclass of GdkDrawable and the baseclass for GdkWindowImplX11
etc now.
2010-12-02 20:21:02 +01:00
Benjamin Otte
b3bca70d5b gdk: Remove unused medialib code 2010-12-02 20:21:02 +01:00
Benjamin Otte
b1f6df8085 API: Remove gdkdrawable.h from public headers
It continues to exist as a private header.
2010-12-02 20:21:02 +01:00
Benjamin Otte
771fa78257 textbuffer: Remove check for GdkDrawable
This should only have been used for stipple patterns, and those are gone
now.
2010-12-02 20:21:02 +01:00
Benjamin Otte
cf6ce6e671 API: Decouple GdkWindow from GdkDrawable
Make GdkWindow no longer typedeffed to GdkDrawable, but instead make it
be its own (private) type.
2010-12-02 20:21:02 +01:00
Benjamin Otte
81605623e2 gdk: Use GdkDrawable for impl pointers
... instead of GdkWindow
2010-12-02 20:21:02 +01:00
Benjamin Otte
a7e6d6c4b4 gtk: Avoid GdkDrawable usage, including needless casts 2010-12-02 20:21:02 +01:00
Benjamin Otte
63808f90a2 gail: Avoid needless calls to GdkDrawable 2010-12-02 20:21:02 +01:00
Benjamin Otte
62622a94ae gdk: Pass Drawable as argument
We're not passing a GdKWindow here, but the implementation.
2010-12-02 20:21:02 +01:00
Benjamin Otte
072498ae87 gdk: Make _gdk_window_ref_cairo_surface() protected and use it
... instead of _gdk_drawable_ref_cairo_surface() where appropriate.
Also, don't implement the drawable->create_cairo_surface vfunc anymore.

This is in preparation for the split of GdkWindow from GdkDrawable.
2010-12-02 20:21:02 +01:00
Benjamin Otte
e724054d19 API: Remove GDK_WINDOW_XWINDOW() macro
Use GDK_WINDOW_XID() instead.

THis was done using sed, so there might be issues resulting to that.
Feel free to fix.
2010-12-02 20:20:56 +01:00
Benjamin Otte
18a6976e5a API: gdk: Don't track outstanding surfaces
You are not allowed to track surfaces from GDK or draw outside of expose
events. So we can remove ugly hacks needed previously. See
https://bugzilla.gnome.org/show_bug.cgi?id=606009 for the introduction
of this workaround.
2010-12-02 20:17:28 +01:00
Benjamin Otte
fe6f76a5a2 x11: Make wrapper member a GdkDrawable
This is in preparation for getting rid of GdkDrawable as a dependency of
GdkWindow.
2010-12-02 20:17:28 +01:00
Benjamin Otte
becaf660fc API: gdk_drawable_get_visible_region => gdk_window_get_visible_region
Also get rid of the GdkDrawable vfunc.
2010-12-02 20:17:28 +01:00
Benjamin Otte
6a3a89a621 API: gdk_drawable_get_clip_region() => gdk_window_get_clip_region()
Also remove the vfunc from GdkDrawableClass.
2010-12-02 20:17:28 +01:00
Benjamin Otte
97e6e9d212 API: Make gdk_cairo_create() take a GdkWindow
This is not strictly an API change as GdkDrawable is typedeffed to
GdkWindow, but it changes the header, so I'm marking it as such.
gdk_cairo_create() can only be used with windows these days, so it makes
sense to pass a window. With that, we can alseo remove the
set_cairo_clip() vfunc from GdkDrawable and implement it inside
gdkwindow.c.
2010-12-02 20:17:28 +01:00
Benjamin Otte
65dde2f92f API: Remove gdk_cairo_reset_clip()
You should not ever ever ever call cairo_reset_clip(). If you do, your
code is broken and you deserve everything you get.
And we should definitely not support this insanity.
2010-12-02 20:17:28 +01:00
Benjamin Otte
d154344a43 win32: Remove some unused defines 2010-12-02 20:17:28 +01:00
Benjamin Otte
88399c041c x11: Remove GdkDrawableImplX11
It's not use anymore, the whole functionality has been moved to
GdkWindowImplX11.
2010-12-02 20:17:27 +01:00
Benjamin Otte
3e6a4af6d3 x11: _gdk_x11_drawable_update_size() => _gdk_x11_window_update_size() 2010-12-02 20:17:27 +01:00
Benjamin Otte
bb79506665 x11: Move cairo_surface and wrapper members to GdkWindowImplX11 struct 2010-12-02 20:17:27 +01:00
Benjamin Otte
1c7f58fdb6 x11: Move xid member from GdkDrawableImplX11 to GdkWindowImplX11 2010-12-02 20:17:27 +01:00
Benjamin Otte
a3c5005eef x11: Use GDK_WINDOW_XID() instead of writing it out 2010-12-02 20:17:27 +01:00
Benjamin Otte
094b0eeb98 x11: Remove screen member from GdkDrawableImplX11 2010-12-02 20:17:27 +01:00
Benjamin Otte
5f12730599 x11: Get display from window, not from impl-drawable's screen 2010-12-02 20:17:27 +01:00
Benjamin Otte
cfa67127a1 x11: Get display from window, not from impl-drawable's screen 2010-12-02 20:17:27 +01:00
Benjamin Otte
dc7d8dae67 x11: Change GDK_WINDOW_SCREEN macro
on't look at GdkDrawableImplX11->screen, but call
gdk_window_get_screen() instead.
2010-12-02 20:17:27 +01:00
Benjamin Otte
5139eecc75 API: x11: Remove GDK_DRAWABLE_XID and GDK_DRAWABLE_XDISPLAY
Window equivalents exist and drawables are on their way out.
2010-12-02 20:17:27 +01:00
Benjamin Otte
3b8aea389d x11: Use window macros instead of drawable macros
GDK_WINDOW_XID() instead of GDK_DRAWABLE_XID()
GDK_WINDOW_XDISPLAY() instead of GDK_DRAWABLE_XDISPLAY()
2010-12-02 20:17:27 +01:00
Benjamin Otte
91679c384a API: Remove gdk_x11_drawable_get_xdisplay()
No need for the function. Macros exist to do the same thing.
2010-12-02 20:17:27 +01:00
Benjamin Otte
0841281b55 x11: Use window macros in test code 2010-12-02 20:17:27 +01:00
Benjamin Otte
28ba4c2146 im-xim: Use window macros instead of drawable macros 2010-12-02 20:17:27 +01:00
Benjamin Otte
3af4432c6f API: x11: Remove gdk_x11_window_get_drawable_impl()
It's not used anymore
2010-12-02 20:17:27 +01:00
Benjamin Otte
deffc9e39f API: x11: Change GDK_WINDOW_XDISPLAY() macro
Instead of lots of magic, we can go the usual way of requesting the
XDisplay of the window's display. So we do that.
2010-12-02 20:17:27 +01:00
Benjamin Otte
cf51750bf4 API: x11: gdk_drawable_get_xid => gdk_window_get_xid
Also moves the function implementations to gtkwindow-x11.c.
2010-12-02 20:17:27 +01:00
Jorge González
86390c99dd Updated Spanish translation 2010-12-02 19:28:16 +01:00
Jorge González
c5d1b36e87 Updated Spanish translation 2010-12-02 19:28:12 +01:00
Tristan Van Berkom
513546f3df Adding GtkCellArea to gtk-doc build (added to gtk3.types, gtk-docs.sgml and updated gtk3-sections.txt file). 2010-12-03 00:29:43 +09:00
Tristan Van Berkom
a7ad110fe9 Adding more documentation to GtkCellArea, documented GtkCellAreaClass structure. 2010-12-03 00:29:22 +09:00
Bastien Nocera
66122b369e gtk: Centre the text under the icon in GtkIconView
No point in setting the alignment to centre if we don't center it
within the cell itself.
2010-12-02 15:04:32 +00:00
Tristan Van Berkom
005964b22a Manually pulling back a GtkTreeViewColumn fix from treeview-refactor-staging
This fix has evolved in the staging branch since all column members are
on a private structure, but since it causes warnings when closing the
windows of the testcellarea test (because the combo-boxes use a treeviewcolumn)
I thought it nice for now to just manually include the fix.

The fix is just proper bookkeeping of delegate objects at dispose() time.
2010-12-02 17:42:46 +09:00
Tristan Van Berkom
cd09abf461 Changed tests/testcellarea.c (and scaffolding) to only reorient the GtkCellArea
It's a better test case if the scaffolding only displays the rows from top
to bottom and doesnt line up the cells from left to right (because it shows
that height-for-width still works with vertically oriented areas).
2010-12-02 17:10:10 +09:00
Tristan Van Berkom
2bf8f7eab9 Removed unused variable from GtkCellAreaBoxContext. 2010-12-02 17:09:44 +09:00
Tristan Van Berkom
03a72118ad Merge branch 'master' into treeview-refactor
Conflicts:
	tests/Makefile.am
2010-12-02 13:58:02 +09:00
Matthias Clasen
dd678ac323 Avoid a warning when finalizing toolbars
Recent changes cause disposing menus to emit ::deactivate. So better
disconnect the deactivate handler first.
2010-12-01 23:32:35 -05:00
Tristan Van Berkom
a9fd00a435 Fixed GtkCellAreaBoxContext for some typos introduced while removing GtkCellAreaContext->sum_preferred_width()/height() apis. 2010-12-02 13:19:37 +09:00
Cosimo Cecchi
6587652433 app-chooser-button: don't insert empty rows in the combobox 2010-12-01 20:18:12 +01:00
Cosimo Cecchi
b17f033857 app-chooser-button: add a note in the docs 2010-12-01 17:04:22 +01:00
Cosimo Cecchi
6e6379c633 app-chooser: add docs and symbols coverage for new API 2010-12-01 17:04:22 +01:00
Cosimo Cecchi
510d65ba08 app-chooser-button: add gtk_app_chooser_button_set_active_custom_item()
This allows to pre-select a custom item.
2010-12-01 17:04:22 +01:00
Cosimo Cecchi
9ffd1f7adb app-chooser-button: make sure to always get a valid iter
Even in case there are no installed applications for our content type.
2010-12-01 17:03:51 +01:00
Bastien Nocera
959fc60c47 gtk: Allow hiding the trough/slider in GtkScale
When setting a GtkRange's upper and lower values to the same
value, the slider will not be drawn any more.

https://bugzilla.gnome.org/show_bug.cgi?id=549720
2010-12-01 15:39:50 +00:00
Tristan Van Berkom
30561228ed Added some rules to GtkCellAreaBox for rendering the last cell.
- When we reach a cell that is out of the render area, break out
   of the loop (for columns user resized too small)
 - CLAMP the size of the last renderer to fit into the area
   (so that renderers get a chance to ellipsize when rendered
   with a space less than allocation, same reason as above).
 - Hand out remaining space in the render area to the last cell,
   this is for shallow rows in the expand column which may recieve
   more than the allocated width.
2010-12-01 22:56:06 +09:00
Ivar Smolin
926622e2dd [l10n] Updated Estonian translation 2010-12-01 13:17:39 +02:00
Mahyar Moghimi
80b1c80dbb Updating Persian translation 2010-12-01 14:19:46 +03:30
Mahyar Moghimi
b9bc2f1321 Updating Persian translation 2010-12-01 14:16:19 +03:30
Tristan Van Berkom
a852deeb03 Fixed GtkCellArea to always activate a cell at gtk_cell_area_activate() time even if no cells have focus. 2010-12-01 16:22:18 +09:00
Tristan Van Berkom
26ac551b74 Added special clause to GtkCellAreaBox focus navigation.
If the area has no activatable cells and has focus when
focus should be cycled, immediately focus out of the area
(because focus in that case is given to the entire area).
2010-12-01 15:18:40 +09:00
Emmanuele Bassi
b9859de917 switch: Fix the attribution line
Thomas Wood pointed out that the original MxGtkLightSwitch widget upon
which I based the behaviour of GtkSwitch was not written by him; the
original authors are:

  Joshua Lock
  Robert Staudinger
  Jussi Kukkonen

My apologies to all of them.
2010-11-30 21:54:48 +00:00
Matthias Clasen
bdeba634d9 Update checkmenuitem docs slightly 2010-11-30 11:36:34 -05:00
Cosimo Cecchi
117e88646f Merge branch 'open-with-dialog' 2010-11-30 17:31:59 +01:00
Cosimo Cecchi
4fe23cae78 app-chooser: other misc doc fixes 2010-11-30 17:27:53 +01:00
Cosimo Cecchi
960516bf33 app-chooser: add more symbols & docs 2010-11-30 16:30:33 +01:00
Cosimo Cecchi
cb916f2746 Merge branch 'master' into open-with-dialog
Conflicts:
	docs/reference/gtk/gtk3-sections.txt
	gtk/gtk.symbols
2010-11-30 16:27:28 +01:00
Guillaume Desmottes
8076dbfb5c gtkspinner: don't setup the timeout twice (#636129) 2010-11-30 15:59:49 +01:00
Cosimo Cecchi
5f942b1232 app-chooser-button: remove leftover typedef 2010-11-30 15:04:50 +01:00
Cosimo Cecchi
50e967d17b build: order new files alphabetically 2010-11-30 15:04:00 +01:00
Cosimo Cecchi
d8ef15c592 app-chooser: update docs 2010-11-30 15:03:33 +01:00
Cosimo Cecchi
51cb082022 app-chooser-online: rework of the online module
- the _get_default() method is now async
- the PackageKit module will return NULL in case PackageKit is not
  available in the session bus
- the dummy module doesn't exist anymore
- the dialog won't display the online button in case there's no module
  available
2010-11-29 18:10:06 +01:00
Cosimo Cecchi
134e74177e app-chooser-button: tabs to spaces 2010-11-29 16:10:58 +01:00
Cosimo Cecchi
232a5c7b3b app-chooser-button: change the API approach for custom items
Introduce a 'custom-item-activated' on the widget, which behaves
similairly to GtkEntryCompletion::action-activated, i.e. is emitted when
a custom item is chosen from the dropdown list.
Clients can use the name provided when adding the item as a detail for
the signal, to get notified when that specific item is activated, or use
the signal without details to get notifications for all custom items.
2010-11-29 16:04:59 +01:00
Cosimo Cecchi
8ae7993397 app-chooser-button: include gtk-docs for show-dialog-item 2010-11-29 12:25:52 +01:00
Cosimo Cecchi
06f501fa07 app-chooser-button: rename GtkAppChooserComboBox -> GtkAppChooserButton 2010-11-29 12:19:18 +01:00
Tristan Van Berkom
b39521dcf7 Make GtkTreeView tell the column about expand space instead of just assigning column->width.
Also modified the api to open up the way for treeview to tell the column
about how much of its size is really used to render the area.
2010-11-29 18:04:47 +09:00
Tristan Van Berkom
5729d2552b Fix GtkCellAreaBox to not paint a focus rectangle while a cell is currently being edited. 2010-11-29 16:49:34 +09:00
Tristan Van Berkom
626f27f7ed Changed cell area/renderer "can_focus" semantics to "is_activatable" across the board.
This is because focus in treeviews can be given to cells that cannot do anything
with activation (for better keynav), so we dissociate the concept of cell
activation and focusing.
2010-11-29 16:29:09 +09:00
Tristan Van Berkom
dbe026ed1e Fixed GtkCellAreaBox->focus() to not give focus to cells that are siblings of an intentional focus cell. 2010-11-29 16:20:01 +09:00
Tristan Van Berkom
5f427ff476 Make focus rectangle painted on all cells if the GtkCellAreaBox is requested to paint focus and none of the cells are activatable. 2010-11-29 16:14:46 +09:00
Tristan Van Berkom
87892261e0 Make editable widget fill the entire inner area of the edited cell
instead of just the aligned focus area to match previous behaviour
2010-11-29 16:03:53 +09:00
Tristan Van Berkom
865eb60d21 Fixed GtkCellLayout to pack cells via the api when parsing builder input. 2010-11-29 13:03:54 +09:00
Tristan Van Berkom
cad41833a2 Allow minimal implementation of GtkCellLayout
Since GtkCellArea delegate does all the work, cell layout widgets
who use a GtkCellArea internally only have to implement the _get_area()
method, this just reduces code to forward the calls over the the internal
cell area.
2010-11-29 13:03:41 +09:00
Tristan Van Berkom
d3aed12b65 Removed cell_layout implementation details in GtkTreeViewColumn in favor of cell_layout->get_area 2010-11-29 13:01:49 +09:00
Tristan Van Berkom
2394f5e49b Touching up GtkCellArea docs. 2010-11-29 11:02:29 +09:00
Tristan Van Berkom
9ee9081405 Added initial detailed docs for GtkCellArea. 2010-11-29 10:55:50 +09:00
Tristan Van Berkom
c1cbc8790e Removed gtk_cell_area_context_sum_preferred_width/height apis.
Turns out theres not much reason to do this in a separate api,
now we just sum up the sizes of aligned cell groups in GtkCellAreaContextBox
when pushing the group size.
2010-11-29 10:55:50 +09:00
Kristian Rietveld
217f688376 Remove obsolete code line 2010-11-28 21:14:33 +01:00
Kristian Rietveld
cbbff6c5e6 Add temporary hack to get the row heights right 2010-11-28 21:02:36 +01:00
Kristian Rietveld
6568b59e8a Remove unused retrieval of focus-line-width 2010-11-28 20:40:59 +01:00
Kristian Rietveld
7527350d69 validate_row no longer uses focus-line-width 2010-11-28 20:39:51 +01:00
Kristian Rietveld
6fe9df2f1d First go at migrating GtkTreeView(Column) to GtkCellArea
This is still very much a work in progress, but it renders and more or
less works.  I will be fixing up the details in the very near future.

Important: this commit breaks ABI as it modifies the GtkTreeViewColumn
structure in gtktreeviewcolumn.h.  This is a sealed structure that needs
to be moved to an internal header file, most likely gtktreeprivate.h.
2010-11-28 19:54:24 +01:00
Kristian Rietveld
05b217ab2a Allow non-editable cells to receive focus
Slight tweak for GtkTreeView, also non-editable cells must be able to receive
focus to get all keyboard navigation right.  This will be further tweaked
to get focus siblings to work like focus cells did in GtkTreeView before
refactoring.
2010-11-28 19:54:24 +01:00
Kristian Rietveld
354b3412dd Available extra space could be less than zero
The allocated size, or (horizontally speaking) for-width size, can be
smaller than the sum of all minimum widths.  For example when the user
is resizing tree view columns manually.
2010-11-28 19:54:18 +01:00
Tristan Van Berkom
5df7dab3cf Changed all the flush apis on GtkCellAreaContext for a single "reset" api. 2010-11-27 16:05:14 +09:00
Tristan Van Berkom
cbc4416c8e Removing the height_for_width vfuncs on GtkCellAreaContextClass which I forgot to remove. 2010-11-27 15:40:45 +09:00
Tristan Van Berkom
e21c224f28 Fixing GtkCellAreaBox at render time to consider height-for-width when stacked vertically
Also bullet-proofing GtkCellAreaBoxContext at allocate time.
2010-11-26 23:44:22 +09:00
Tristan Van Berkom
08cc318946 Fixed CellAreaScaffold for new gtk_cell_area_context_allocate() api. 2010-11-26 21:38:29 +09:00
Tristan Van Berkom
487223d480 Finally really support rendering of cells in an unallocated context.
What this means is basically that a vertically oriented GtkCellAreaBox
will render cells properly even if the height is not constant for every
for of data in the said GtkCellAreaContext (i.e. the height was not allocated
by gtk_cell_area_context_allocate).

This is done completely on the fly and so is much more heavy duty
at render time (considerably slower but not visibly noticable in
lightweight views like GtkTreeMenu). Note that cell alignments
are not possible in an unallocated orientation, each row of data
individually receives only enough space to render the independant
row and no space is reserved for alignments if the size is not
a constant size across rows in the same context.
2010-11-26 21:38:10 +09:00
Tristan Van Berkom
fa3c8f182e Revert "Removed tons of api that we dont absolutely need in GtkCellAreaContext:"
This reverts commit 5f7787ab2e.
2010-11-26 21:37:51 +09:00
Alexander Larsson
80f332308f [broadway] Add initial keyboard event support 2010-11-25 22:09:34 +01:00
Alexander Larsson
4aac045a30 [broadway] Don't return undefined counts in keymap calls 2010-11-25 22:09:34 +01:00
Alexander Larsson
667d23aa7c [broadway] Hook mousewheel scrolling 2010-11-25 22:09:33 +01:00
Alexander Larsson
d6029949e6 [broadway] Disable context menu so rmb works 2010-11-25 22:09:33 +01:00
Alexander Larsson
4004882b92 [broadway] Only change window positioning for toplevels not e.g. menus 2010-11-25 22:09:33 +01:00
Alexander Larsson
c1a35afa5f [broadway] Don't have mouse_in_toplevel point to hidden or destroyed window 2010-11-25 22:09:33 +01:00
Alexander Larsson
0b6265b76a [broadway] Only allow one input session 2010-11-25 22:09:33 +01:00
Alexander Larsson
a4fc901c07 [broadway] Handle errors in input nicer
Also, fix a leak
2010-11-25 22:09:33 +01:00
Alexander Larsson
9cc073803f [broadway] Only open one websocket for input! 2010-11-25 22:09:33 +01:00
Alexander Larsson
e7169f75e6 Move send_error up 2010-11-25 22:09:33 +01:00
Alexander Larsson
1b3efb3599 Save current input request 2010-11-25 22:09:33 +01:00
Alexander Larsson
1ba38a48d7 [broadway] Remove old unused declarations 2010-11-25 22:09:33 +01:00
Alexander Larsson
7667ad456b [broadway] Avoid crash if mask is NULL 2010-11-25 22:09:33 +01:00
Alexander Larsson
b23fd41449 [broadway] Fix warning 2010-11-25 22:09:33 +01:00
Alexander Larsson
ccab600fb4 Move event generation to gdkeventsource.c 2010-11-25 22:09:33 +01:00
Alexander Larsson
0539303dfc Handle output errors correctly 2010-11-25 22:09:33 +01:00
Alexander Larsson
0ca5a1a574 [broadway] Track errors in BroadwayOutput 2010-11-25 22:09:33 +01:00
Alexander Larsson
ce5cccf0ab [broadway] Fix typo in assignment 2010-11-25 22:09:33 +01:00
Alexander Larsson
e8117544a0 [broadway] Convert broadway.c to use glib stuff 2010-11-25 22:09:33 +01:00
Alexander Larsson
fcce2986ce [broadway] Keep track of the GSocketConnection for the output 2010-11-25 22:09:32 +01:00
Alexander Larsson
f407b4a5f5 Rename BroadwayClient to BroadwayOutput 2010-11-25 22:09:32 +01:00
Alexander Larsson
5a9f7a1e35 [broadway] Fix warning in demo 2010-11-25 22:09:32 +01:00
Alexander Larsson
1bc7bc5542 [broadway] Initialize masks to zero everywhere to avoid valgrind warnings 2010-11-25 22:09:32 +01:00
Alexander Larsson
77907fec79 Move global window list to per-display 2010-11-25 22:09:32 +01:00
Alexander Larsson
08a180a699 [broadway] Hack up window placement for demo 2010-11-25 22:09:32 +01:00
Alexander Larsson
b82ed84709 [broadway] Implement window resize 2010-11-25 22:09:32 +01:00
Alexander Larsson
65f767a363 [broadway] NULL out ref_surface on resize too 2010-11-25 22:09:32 +01:00
Alexander Larsson
2e1f6e09e5 [broadway] Add some fuzz to rectangle scanner
We don't want a bazillion tiny rectangles, so add some fuzz
to the rectangle scanners so we get less but larger rectangles.
2010-11-25 22:09:32 +01:00
Alexander Larsson
5ec2531e9b [broadway] Switch autocrop to smarter rectangle search 2010-11-25 22:09:32 +01:00
Alexander Larsson
e88a18e0ea [broadway] Add realloc wrapper 2010-11-25 22:09:32 +01:00
Alexander Larsson
d0e403c54d [broadway] Fix up scrolling 2010-11-25 22:09:32 +01:00
Alexander Larsson
bed0ccba9d [broadway] Handle window moves 2010-11-25 22:09:32 +01:00
Alexander Larsson
ec4a6c4a5f [broadway] Implement _gdk_windowing_window_at_device_position 2010-11-25 22:09:31 +01:00
Alexander Larsson
93fec05183 [broadway] Track last mouse position 2010-11-25 22:09:30 +01:00
Alexander Larsson
e64a38eeef [broadway] Fix x/y mismatch in canvas position 2010-11-25 22:09:30 +01:00
Alexander Larsson
5a49bfe96a Fix some type warnings 2010-11-25 22:09:30 +01:00
Alexander Larsson
e6c340519c [broadway] Send diffs as bilevel rgba instead of true diff
The true diff only works if the destination keeps perfect 32bit
canvas data, which is not always true. So, instead we send only
changed pixels, masking the others to 0 via alpha 0.
2010-11-25 22:09:30 +01:00
Alexander Larsson
6fe849d4f1 [broadway] Send and use canvas ids in events 2010-11-25 22:09:30 +01:00
Alexander Larsson
d211d78eef [broadway] Track window<->id mapping 2010-11-25 22:09:30 +01:00
Alexander Larsson
cdd274a55c [broadway] Missed a place to use event time 2010-11-25 22:09:30 +01:00
Alexander Larsson
8f9c6eb1a9 [broadway] clean up input sending js 2010-11-25 22:09:30 +01:00
Alexander Larsson
65d4edbd5b [broadway] Send event timestamps from client 2010-11-25 22:09:30 +01:00
Alexander Larsson
2e8f21cb1b [broadway] Allow loading client.html as "/" only 2010-11-25 22:09:30 +01:00
Alexander Larsson
2ee6dbd998 Remove unneeded copy of region 2010-11-25 22:09:30 +01:00
Alexander Larsson
163a278d13 Fix button numbers in events (starts with 1, not 0) 2010-11-25 22:09:30 +01:00
Alexander Larsson
884527a958 [broadway] Initial work on mouse events 2010-11-25 22:09:30 +01:00
Alexander Larsson
ee6b07bf15 [broadway] remove some spew 2010-11-25 22:09:29 +01:00
Alexander Larsson
95df67f47b [broadway] don't sync the root window 2010-11-25 22:09:29 +01:00
Alexander Larsson
0a20ab58fa [brodway] Don't send 0x0 deltas, they confuse the client 2010-11-25 22:09:29 +01:00
Alexander Larsson
1e3dffeee9 Send mouse events from js 2010-11-25 22:09:29 +01:00
Alexander Larsson
852b317b4f Initial sketch of websockets support 2010-11-25 22:09:29 +01:00
Alexander Larsson
f11a7d2fde Don't put output on stdin, instead do it on http connection 2010-11-25 22:09:29 +01:00
Alexander Larsson
8a0429b42d Flesh out http server to handle client.html and broadway.js 2010-11-25 22:09:29 +01:00
Alexander Larsson
b07ead64ed Add makerules to turn client.html and broadway.js into #include files 2010-11-25 22:09:29 +01:00
Alexander Larsson
ded9bc698b Add initial http server 2010-11-25 22:09:29 +01:00
Alexander Larsson
0b85341737 Add broadway javascript and html part 2010-11-25 22:09:29 +01:00
Alexander Larsson
6651eab293 [broadway] Initial hookup of broadway client 2010-11-25 22:09:29 +01:00
Alexander Larsson
cb056e3738 [broadway] Fix up nvisuals handling 2010-11-25 22:09:29 +01:00
Alexander Larsson
db288f3233 [broadway] Ensure gdk_ref_cairo_surface object can be destroyed
If we return a direct ref that is not possible, since we own a ref to it.
This is problematic as the gdkwindow.c code uses destruction to track
outstanding surfaces.

We fix this by returning a subsurface.
2010-11-25 22:09:29 +01:00
Alexander Larsson
f02b7c9ed2 [broadway] Copy regions on last_surface during translations too
This will help make scrolling more efficient
2010-11-25 22:09:29 +01:00
Alexander Larsson
60cf2d53eb Track last_surface properly 2010-11-25 22:09:29 +01:00
Alexander Larsson
7f0e43c0fd [broadway] Import broadway lib
We put this in gtk+ for now since it will be synced initially, but
it avoids using glib so that it can be used lower in the stack if
required (e.g. in cairo later).
2010-11-25 22:09:29 +01:00
Alexander Larsson
d707d057c2 [broadway] Rename X11 -> Broadway in all code
This just runs:
for i in *.[ch]; do
 sed -i s/DisplayX11/DisplayBroadway/g $i;
 sed -i s/PrivateX11/PrivateBroadway/g $i;
 sed -i s/ImplX11/ImplBroadway/g $i;
 sed -i s/KeymapX11/KeymapBroadway/g $i;
 sed -i s/ScreenX11/ScreenBroadway/g $i;
 sed -i s/GdkX11Monitor/GdkBroadwayMonitor/g $i;
 sed -i s/_X11/_BROADWAY/g $i;
 sed -i s/x11/broadway/g $i;
done
2010-11-25 22:09:29 +01:00
Alexander Larsson
ce6ae54607 [broadway] Send MAP/UNMAP events for impl windows 2010-11-25 22:09:29 +01:00
Alexander Larsson
2ecaeb149f [broadway] Implement window translation 2010-11-25 22:09:28 +01:00
Alexander Larsson
73f9c0cc00 [broadway] Track dirty windows 2010-11-25 22:09:28 +01:00
Alexander Larsson
85515b7775 [broadway] Keep track of all (toplevel) windows 2010-11-25 22:09:28 +01:00
Alexander Larsson
c456e98880 Remove X use from broadway backend 2010-11-25 22:09:28 +01:00
Alexander Larsson
dffa6e0da7 Remove X based dnd 2010-11-25 22:09:28 +01:00
Alexander Larsson
a54e556ad8 Remove event translators 2010-11-25 22:09:28 +01:00
Alexander Larsson
5b480e1b0d [broadway] Copy X backend to broadway 2010-11-25 22:09:19 +01:00
Cosimo Cecchi
ef9543e978 tests: fix indentation 2010-11-25 17:32:13 +01:00
Cosimo Cecchi
67e842be87 app-chooser-combobox: add a method to trigger the GtkAppChooserDialog
It's an optional special item in the combobox, turned off by default.
2010-11-25 17:30:01 +01:00
Tristan Van Berkom
7fc7bd613b Changed GtkCellRendererText to request less than wrap-width if the text is smaller than the wrap-width (or width-chars). 2010-11-25 22:46:55 +09:00
Tristan Van Berkom
2dd2c7ce05 Added gtk_cell_renderer_get_aligned_area() and class vfunc.
Since a cell renderer might use more space than the natural
size when recieving expand space it's impossible to know how
much space is actually used to render content.

Adding this virtual method to allow text renderers to implement
it, the base default method uses height-for-width apis and aligns
the cell assuming the renderer uses a fixed size.

This commit removes the similar code from gtkcellarea and
subclasses.
2010-11-25 17:41:26 +09:00
Tristan Van Berkom
5f7787ab2e Removed tons of api that we dont absolutely need in GtkCellAreaContext:
- gtk_cell_area_context_get_height_for_width()
  - gtk_cell_area_context_get_width_for_height()
  - gtk_cell_area_context_push_height_for_width()
  - gtk_cell_area_context_push_width_for_height()
  - gtk_cell_area_context_flush_height_for_width()
  - gtk_cell_area_context_flush_width_for_height()
  - Contextual size changed signal

All of these are not really important for the CellArea to operate
and not of any real consequential value to the user (the user can
accumulate the returned values from height-for-width requests
and do as they please with it).
2010-11-25 16:36:46 +09:00
Tristan Van Berkom
9d0c2f6b37 Make GtkCellAreaBox handle rendering without a previous allocation in the orientation of choice.
This is so that treeviews can have some columns oriented vertically and
some horizontally, usually the column will only allocate the areas
width, having vertical columns without fixed row heights just means
it's slower to render.
2010-11-25 16:09:51 +09:00
Tristan Van Berkom
57a94bfb53 Merge branch 'master' into treeview-refactor 2010-11-25 15:07:47 +09:00
Matthias Clasen
a498d9a9ba Coding style fixups
This commit adjusts the app chooser code to GTK+ coding style:
- line up prototypes
- remove some excess {}
- remove tabs and trailing whitespace
- add docs
2010-11-24 18:32:05 -05:00
Matthias Clasen
f64448473e Coding style fixes 2010-11-24 16:50:00 -05:00
Matthias Clasen
964b684455 Improve packing in testappchooser 2010-11-24 16:47:15 -05:00
Matthias Clasen
47308db2ba Fix reference counting for icons 2010-11-24 16:09:55 -05:00
Cosimo Cecchi
183d75b812 app-chooser-combobox: make refresh properly work with custom items
The refresh implementation leaves the custom items in place, and just
refreshes the recommended applications.
2010-11-24 19:08:17 +01:00
Cosimo Cecchi
2a95707b4c app-chooser-combobox: add an initial implementation
GtkAppChooserCombobox is an implementation of GtkAppChooser inside a
combobox that shows recommended applications for a given content type.
2010-11-24 18:45:42 +01:00
Cosimo Cecchi
627f9b70a7 app-chooser-dialog: add a 'Forget Association' context menu item 2010-11-24 17:12:08 +01:00
Cosimo Cecchi
6b900cf276 app-chooser-widget: add a 'populate-popup' signal for context menus
This way applications can append items to the menu, which will
automatically show when there's more than one item in it.
2010-11-24 17:12:04 +01:00
Cosimo Cecchi
783b36398e tests: remove radio mode from the test 2010-11-24 15:50:08 +01:00
Cosimo Cecchi
067b4ccb33 Revert "open-with-dialog: remove automatic setting of support-for-type"
This reverts commit 4cfe121296.

Conflicts:

	gtk/gtkappchooserdialog.c
2010-11-24 15:49:47 +01:00
Cosimo Cecchi
abf3b4af07 open-with-widget: make sure to escape the string we use for markup 2010-11-23 18:15:28 +01:00
Cosimo Cecchi
d0c35d63e0 Revert "open-with-widget: don't check if the app supports URIs/files"
This reverts commit b432242078.
2010-11-23 18:10:01 +01:00
Cosimo Cecchi
05bb715c51 app-chooser: rename GtkOpenWith to GtkAppChooser 2010-11-23 17:50:15 +01:00
Cosimo Cecchi
6f0a605891 open-with-dialog: don't show the 'Show More...' button in all mode 2010-11-23 16:53:23 +01:00
Cosimo Cecchi
b432242078 open-with-widget: don't check if the app supports URIs/files
Because some apps are broken wrt. this property.
2010-11-23 16:53:23 +01:00
Cosimo Cecchi
e861180a03 open-with-widget: add a show-default property 2010-11-23 16:53:23 +01:00
Cosimo Cecchi
0833894c38 open-with-widget: remove context menu
The widget should not modify itself the application list in any way.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
cb934ad868 open-with-widget: remove radio mode
It's not useful for now.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
9d550fe42a open-with-pk: don't show an error if no apps are found
gnome-packagekit already shows a message dialog for us.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
04eb875e86 open-with-diaolog: set the default text according to the dialog mode 2010-11-23 16:53:22 +01:00
Cosimo Cecchi
1be137ae9f open-with-widget: let the default fallback text be customizable
We'll set it from the dialog.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
44ef183fa1 tests: update to the new API 2010-11-23 16:53:22 +01:00
Cosimo Cecchi
2cb1b7e891 open-with: move the "Show more applications" button in the dialog
It doesn't really belong in the widget now that we have the new states.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
4cfe121296 open-with-dialog: remove automatic setting of support-for-type
We don't want to hardcode any kind of policy in these widgets/dialogs from
now on.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
3b6941f087 open-with: add a public _refresh() method
This can be useful now that we're splitting some items from the widget.
2010-11-23 16:53:22 +01:00
Cosimo Cecchi
f12ff4b676 open-with-widget: move to a property-based state
We can enable on-demand one of the three sections (recommended,
fallback, other apps) or use the special ALL property to display everything
uncategorized.

These properties are also easily bindable from outside.
2010-11-23 16:53:17 +01:00
Cosimo Cecchi
09b8d37b8a open-with-dialog: use misc_set_alignment instead of widget_set_halign 2010-11-23 16:51:41 +01:00
Cosimo Cecchi
e7194c31a7 open-with-pk: don't set error if the user cancelled the installation 2010-11-23 16:51:40 +01:00
Cosimo Cecchi
9df2c0910d open-with-dialog: integrate the online capability 2010-11-23 16:51:40 +01:00
Cosimo Cecchi
d4e1dd9734 open-with: add a PackageKit module for online lookup of applications
It's implemented with a GIOExtensionPoint, which has two
implementations:
- a dummy one, which just errors out
- a PackageKit one, which looks up for the specified content type using
  the PK DBus API and GDBus.

The PK module is optional, and can be compiled out at configure time.

TODO: a Win32 implementation of the module.
2010-11-23 16:51:40 +01:00
Cosimo Cecchi
86a8f99806 open-with-widget: don't forget to set the search column
Otherwise find-as-you-type won't work at all.
2010-11-23 16:51:40 +01:00
Cosimo Cecchi
4becd25bf5 open-with-widget: don't sort by name recommended apps 2010-11-23 16:51:40 +01:00
William Jon McCann
9bbbfe3aa8 Using italics here actually introduces more visual clutter than anything 2010-11-23 16:51:40 +01:00
William Jon McCann
370ecf0ee8 Use Related instead of the somewhat jargonny fallback 2010-11-23 16:51:40 +01:00
William Jon McCann
3c7e6cd49c Use other instead of more
More doesn't make sense when there are no apps in the list and
they aren't just more apps they are apps in another category.
2010-11-23 16:51:40 +01:00
William Jon McCann
8ea4faf0d3 The colon is a bit unneccessary and looks a bit ugly 2010-11-23 16:51:40 +01:00
William Jon McCann
1226070b93 Improve wording of no apps text 2010-11-23 16:51:40 +01:00
William Jon McCann
076e851c5f Add some window border to test open with 2010-11-23 16:51:40 +01:00
William Jon McCann
04452df476 Add a default file to open with test 2010-11-23 16:51:40 +01:00
William Jon McCann
d09550b2d2 Simplify title and heading 2010-11-23 16:51:40 +01:00
Cosimo Cecchi
8b16f73f88 open-with-widget: don't set border in the widget box 2010-11-23 16:51:40 +01:00
Cosimo Cecchi
9a1cd83933 open-with-widget: add support for fallback applications
Needs some new API in GIO, which is not yet merged.
2010-11-23 16:51:40 +01:00
Cosimo Cecchi
a443eb8602 open-with-dialog: remove old declarations 2010-11-23 16:51:40 +01:00
Cosimo Cecchi
1bb2a1b9ec open-with: remove obsolete code 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
9150f6b13a open-with-widget: simplify code a bit 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
a6a56d4194 open-with-widget: add a "Show more applications" button
So that we don't always show them all unconditionally in HEADINGS mode.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
7d8e7e5f1d open-with-widget: make the list more pretty
Use bigger icons, with bold names and italic descriptions next to them.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
9ffe52c049 open-with-dialog: don't ever show_all()
As there might be some elements in the widget that we don't want to
always show.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
254cc6aca6 open-with-widget: add a context menu for recommended entries
We can put "Forget association" there, which removes the application
from the recommended list.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
f8a6ac5429 tests: update to new API 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
2f5073fbb3 open-with-dialog: remove the mode from the dialog, we won't use it anymore
According to the new design, the dialog should automatically do the
right thing wrt. app association and default handling.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
cf25ec8fa7 open-with: first attempt to split the dialog into a widget + interface
Like GtkFileChooser does; GtkOpenWith is a generic interface, which is
now implemented by both GtkOpenWithDialog and GtkOpenWithWidget (and in
the future also by GtkOpenWithComboBox).
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
9d6055d0c8 tests: use new open with mode in the tests 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
a4283d7bab open-with: turn the show_all_applications boolean into an enum
We have three modes of showing applications now:
- RECOMMENDED mode: shows only the recommended applications
- ALL mode: shows all applications, uncategorized
- HEADINGS: shows headings for recommended and other applications
  (default).
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
77b5fcfa93 open-with: add docs and integrate with the build GTK+ conventions 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
8c8f7f83ba open-with: add gtk_open_with_dialog_get_mode() 2010-11-23 16:51:39 +01:00
Cosimo Cecchi
df8ccfb800 open-with: change the API to make it symmetric for GFile or content-type
It's much more convenient this way.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
3a6b936573 tests: rewrite the GtkOpenWithDialog test to make it more interactive
Now you can play with all the options provided by GtkOpenWithDialog API.
2010-11-23 16:51:39 +01:00
Cosimo Cecchi
accb766db2 open-with: add misc utility API to the dialog
- _set/get_show_other_applications() is a way to only display
  recommended applications in the dialog
- _set/get_show_set_as_default_button() is a way to control the
  "Remember this application" checkbox

We also get rid of he "application-selected" signal, in favour of a
_get_selected_application() API inspired by GtkFileChooser.
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
a8cf63cc84 open-with: add xpadding to the treeview renderers
We use a GtkCellRenderer hack for this.
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
ee9a7a3baf open-with: cope with NULL GAppInfo
It's not that the GAppInfo can actually be NULL, but we use the store to
save headings too, which have no GAppInfo in their rows.
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
1d67b4ac26 open-with: don't override the class signal handler, as it's RUN_LAST
And explain why in a comment; basically we want our handler to always
run before client code.
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
c8ea415873 open-with: don't use gtk_misc_* functions
They're so passe'!
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
3d044a7c3e open-with: add a "show-other-applications" property
This is useful for use-cases where showing a list of all the installed
applications can be confusing. We can control that with a property now.
2010-11-23 16:51:38 +01:00
Cosimo Cecchi
be18ca45f0 open-with: initial implementation of GtkOpenWithDialog 2010-11-23 16:51:38 +01:00
Tristan Van Berkom
e53dc3479f Added GtkCellAreaClass->apply_attributes()
Made gtk_cell_area_apply_attributes use a vfunc & signal so that
subclasses might do specialized things picking up attributes from the
model possibly for embedding widgets, and as specially for GtkTreeMenu
to connect to the signal and synchronize the menu sensitivity states
in a more convenient way than going through the GtkCellLayoutDataFunc.
2010-11-23 23:37:58 +09:00
Tristan Van Berkom
d56babefb4 Removed cell margin apis and now deal with "focus-line-width". 2010-11-23 16:26:46 +09:00
Tristan Van Berkom
7105d02a13 Merge branch 'master' into treeview-refactor 2010-11-16 16:21:04 +09:00
Javier Jardón
446c0fd1ad gtkmain: Remove deprecated gtk_init_add() function
https://bugzilla.gnome.org/show_bug.cgi?id=629955
2010-11-16 16:20:49 +09:00
Javier Jardón
d5eee0d1bd Deprecate GtkCallbackMarshal and GtkFunction
As they're only used by already deprecated API

https://bugzilla.gnome.org/show_bug.cgi?id=629955
2010-11-16 16:20:49 +09:00
Javier Jardón
a512143bab GtkArg is deprecated since 2.2 2010-11-16 16:20:49 +09:00
Javier Jardón
a5ab0a4c84 docs: Add cross-reference in GtkAlign docs 2010-11-16 16:20:49 +09:00
Javier Jardón
8809e46a41 docs: Fix a typo in gtk_button_set_alignment() docs 2010-11-16 16:20:49 +09:00
Javier Jardón
70bb3776f0 docs: Remove template of unused functions 2010-11-16 16:20:49 +09:00
Javier Jardón
ccd740f1b6 docs: Move documentation to inline comments: event_structs
All the GDK documentation is now moved to inline comments
2010-11-16 16:20:49 +09:00
Javier Jardón
1cbba3fae2 docs: Move documentation to inline comments: x_interaction 2010-11-16 16:20:49 +09:00
Javier Jardón
7d12d2a649 docs: Move documentation to inline comments: drawing 2010-11-16 16:20:48 +09:00
Javier Jardón
dd2db852cc docs: Move documentation to inline comments: gdkthreads 2010-11-16 16:20:48 +09:00
Javier Jardón
7524d5fcbe docs: Move documentation to inline comments: gdkevents 2010-11-16 16:20:48 +09:00
Javier Jardón
4d6c033d16 docs: Move documentation to inline comments: properties 2010-11-16 16:20:48 +09:00
Javier Jardón
7090aa1e1b docs: Move documentation to inline comments: gdkselection 2010-11-16 16:20:48 +09:00
Javier Jardón
4593df1ef5 docs: Move documentation to inline comments: gdkvisual 2010-11-16 16:20:48 +09:00
Javier Jardón
2adf427467 docs: Move documentation to inline comments: gdkpango 2010-11-16 16:20:48 +09:00
Javier Jardón
1b5f0d5968 docs: Move documentation to inline comments: gdkcursor 2010-11-16 16:20:48 +09:00
Bastien Nocera
e85c0f63fb gdk: Add big fat warning about updating XSettings
There's a tool to see if we forgot to update the gdk_settings_map
array, or got the offsets wrong. Mention those above the XSettings
list.
2010-11-16 16:20:48 +09:00
Bastien Nocera
038fb4b7e9 gdk: Update gdk_settings_map for blink timeout to work
gdk_settings_map needs to be updated when gdk_settings_names is changed,
and it's easier to add the setting at the end, so we don't need to
recalculate everything.

Really fixing:
https://bugzilla.gnome.org/show_bug.cgi?id=634697
2010-11-16 16:20:48 +09:00
John (J5) Palmieri
0d07cba436 [gi] add "out" annotations to gtk_tree_store_sort_column_id params 2010-11-16 16:20:48 +09:00
Petr Kovar
1e3f7ba162 Update Czech translation 2010-11-16 16:20:48 +09:00
Javier Jardón
4f92875bb1 docs: gdkrgba: Add "Since: 3.0" tags 2010-11-16 16:20:47 +09:00
Javier Jardón
40b7a916a8 docs: Remove GdkPixmap template 2010-11-16 16:20:47 +09:00
Javier Jardón
2909edb3e7 docs: Move documentation to inline comments: general 2010-11-16 16:20:47 +09:00
Javier Jardón
145fe4bdc0 docs: Move documentation to inline comments: gdkkeys 2010-11-16 16:20:47 +09:00
Javier Jardón
0b61aaacd1 docs: move documentation to inline comments: gdktesting 2010-11-16 16:20:47 +09:00
Javier Jardón
209afbbf17 docs: Move documentation to inline comments: gdkscreen 2010-11-16 16:20:47 +09:00
Javier Jardón
1a1c4be6c3 docs: Move documentation to inline comments: gdkdisplaymanager 2010-11-16 16:20:47 +09:00
Javier Jardón
236f15c3a9 docs: Move documentation to inline comments: gdkdisplay 2010-11-16 16:20:47 +09:00
Javier Jardón
bb218b08e9 docs: Move documentation to inline comments: gdkapplaunchcontext 2010-11-16 16:20:47 +09:00
Jordi Mas
3166767c36 Fixes wrong translation for Catalan 2010-11-16 16:20:47 +09:00
Bruce Cowan
bad8d0b8e6 Updated British English translation 2010-11-16 16:20:47 +09:00
Carlos Garcia Campos
a00cd60540 docs: Mention that tooltip_column text should be escaped in GtkIconView 2010-11-16 16:20:46 +09:00
Javier Jardón
333ff7dbfc docs: Do not refer to deprecated GNOME2 porting guide
But to the related sections of Pango manual
2010-11-16 16:20:46 +09:00
Javier Jardón
abb98246ff docs: Update URL of some documentation links
http://developer.gnome.org -> http://library.gnome.org
2010-11-16 16:20:46 +09:00
Gheyret T.Kenji
cb1ef69b12 Added UG translation 2010-11-16 16:20:46 +09:00
Gabor Kelemen
1dd7424f0c Updated Hungarian translation 2010-11-16 16:20:46 +09:00
Tristan Van Berkom
b0919b2058 Added "cell-packing" property GtkBuildable parsing to GtkCellLayout
Added gtk_cell_layout_get_area() iface vfunc and use that to apply
packing cell properties to the child renderers when parsing from
GtkBuilder.
2010-11-16 15:11:18 +09:00
Tristan Van Berkom
4ceb25e011 More documentation in gtkcellarea.c 2010-11-15 11:23:55 +09:00
Tristan Van Berkom
92dc7f31d4 Cleaned up cell editing api in GtkCellArea
Now layouting widgets need only concern themselves with
the "add-editable" and "remove-editable" signals, also added
lots of gtk-doc comments.
2010-11-14 23:33:26 +09:00
Tristan Van Berkom
1bca6349fb Mass rename GtkCellAreaIter --> GtkCellAreaContext 2010-11-13 16:23:01 +09:00
Khaled Hosny
bef9559089 Updated Arabic translation 2010-11-13 15:23:34 +09:00
Javier Jardón
df5286f11e examples/gtkdial: Do not use size_request vfunc 2010-11-13 15:23:34 +09:00
Matthias Clasen
c68a4ad4f6 Fix a crash in gnome-terminal when using a compositor
In this case, gnome-terminal sets an RGBA visual on its window,
and we need to be careful when creating the icon pixmap, to create
the pixmap with the same depth as the visual, or we risk a BadMatch
from XRenderCreatePicture deep inside cairo.
2010-11-13 15:23:34 +09:00
Bastien Nocera
7d11c16b17 gdk: Add XSetting for "gtk-cursor-blink-timeout"
Otherwise the blink timeout is the one used by default in GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=634697
2010-11-13 15:23:34 +09:00
Matthias Clasen
ed0aff4792 Remove no longer existing files
The gdk-pixbuf VC project files are gone, so don't reference
them from Makefile.am anymore.
2010-11-13 15:23:33 +09:00
Matthias Clasen
52adead88f Really get rid of _gtk_cell_renderer_calc_offset 2010-11-13 15:23:33 +09:00
Owen W. Taylor
342d897b58 Pass the correct GDK library when working around Debian libtool
We need to link against gdk/libgdk-x11-3.0.la, not
gdk/x11/libgdk-x11.la, which is the convenience library containing
the backend functions.
2010-11-13 15:23:33 +09:00
Chao-Hsiung Liao
88c1543845 Updated Traditional Chinese translation (Hong Kong and Taiwan) 2010-11-13 15:23:33 +09:00
Murray Cumming
131da8507b gtk_dialog_get_content_area(): Fix the docs.
This returns a GtkBox now, not a GtkVBox.
Language bindings may need to adjust their APIs accordingly.
2010-11-13 15:23:32 +09:00
Murray Cumming
233afbdab1 gtkdialog.c: Remove trailing whitespace 2010-11-13 15:23:32 +09:00
Marek Kasik
0fe9e481dd Print files to Documents directory by default
Set default directory to G_USER_DIRECTORY_DOCUMENTS
when printing to file backend and fallback to the current
directory when it is not available (#633896).
2010-11-13 15:23:32 +09:00
Chun-wei Fan
9d52a9d920 gtk.vcprojin: include .rc file 2010-11-13 15:23:32 +09:00
Chun-wei Fan
cf34b804a4 gtk+.sln: Remove GDK-Pixbuf compilation stuff
GDK-Pixbuf is in a package of its own, so remove the project files from here
2010-11-13 15:23:32 +09:00
Chun-wei Fan
2d84d1cb38 gtk+.vsprops: Update for GTK-3.0
-removed headers that ceased to exist
-bump API version
-made up for new headers that is to be installed
-gtk-demo program and related sources/data copied to bin/gtk3-demo
2010-11-13 15:23:32 +09:00
Chun-wei Fan
14a40180cd gtklabel.c: Added hack for rint() 2010-11-13 15:23:31 +09:00
Chun-wei Fan
25c2f4b780 gtkwocket-win32.c Added missing include to avoid C4013 2010-11-13 15:23:31 +09:00
Chun-wei Fan
2e0278c752 gtk: fix C99-style variable declarations in various sources 2010-11-13 15:23:31 +09:00
John (J5) Palmieri
4e47110120 [introspection] mark invokers for gtkeditable vfuncs 2010-11-13 15:23:31 +09:00
John (J5) Palmieri
b17a25142f [introspection] add transfer none annotation to gdk_keyval_name return
* moved docs from .sgml file to th e.c file so we can add the annotation
2010-11-13 15:23:31 +09:00
Matthias Clasen
fdde029f06 bump version 2010-11-13 15:23:31 +09:00
Matthias Clasen
3e9d7a30b0 fix up accidental exports 2010-11-13 15:23:30 +09:00
Matthias Clasen
b2ed95dd11 Another attempt at scrolledwindow size allocation
Patches taken from bug 633278.
2010-11-13 15:23:30 +09:00
Colin Walters
2facb830fa introspection: Explicitly include libgdk-x11.la when scanning gtk
Debian changed the behavior of libtool to not follow dependencies
from .la files.  Fortunately, the scanner explicitly looks at the
.la files to see if they're really shared; if not it doesn't add
them to the .gir, so there's no cost.

https://bugzilla.gnome.org/show_bug.cgi?id=633405
2010-11-13 15:23:30 +09:00
Matthias Clasen
79042e31a6 Rewrap text in gtk-demo 2010-11-13 15:23:30 +09:00
Matthias Clasen
70e161d2a2 Fix the doc build 2010-11-13 15:23:30 +09:00
Matthias Clasen
0a015f1bdb Don't export _gtk_cell_renderer_calc_offset
This is just a private convenience function, and exporting _-prefixed
functions doesn't work with our libtool setup. Just do the 3 line
calculation in gail.
2010-11-13 15:23:29 +09:00
Tristan Van Berkom
e7c4ede64c Fixed some background area related bugs in CellAreaScaffold, cleanup testcellarea 2010-11-13 15:09:36 +09:00
Tristan Van Berkom
eda16a096d Fixed some errors in testcellarea testcases. 2010-11-12 23:09:57 +09:00
Tristan Van Berkom
51b75ef44b Added tests to reflect proper treatment of background area.
CellAreaScaffold now also reflects how cell_area should be
passed to gtk_cell_area_activate() and gtk_cell_area_event()
and how the background area for gtk_cell_area_renderer() should
be created.
2010-11-12 21:55:28 +09:00
Tristan Van Berkom
47d55c4a4b Added orientation control to testcellarea's focus/editing test 2010-11-12 19:44:45 +09:00
Tristan Van Berkom
38666b406f Ironed out the kinks in editing apis for GtkCellArea
- Added gtk_cell_area_aligned_cell_area() to get the aligned
   internal area use by a cell (for focus painting and for
   event areas).

 - Provide the event area in "editing-started" signal

 - Fire "remove-editable" when editing is canceled by the user,
   an implementing layouting widget need only catch "editing-started"
   and "remove-editable" now.

 - CellAreaScaffold/testcellarea now edit textrenderers.
2010-11-12 19:25:07 +09:00
Tristan Van Berkom
7e821aa980 Distribute portions of GtkCellArea:render() background_area argument to cells
Also added gtk_cell_area_get/set_style_detail() to set the string to be
used by the area in gtk_paint_* functions.
2010-11-12 14:06:00 +09:00
Tristan Van Berkom
33db66e728 Added event handling to GtkCellAreaBox
Now GtkCellAreaBox handles the click event to activate renderers
and checks if the area is in a sibling of a focus renderer, possibly
activating the proper focus sibling renderer.

Also GtkCellArea gains a "focus-changed" signal to allow it to
change the currently focused row according to the button events.
2010-11-11 18:13:54 +09:00
Tristan Van Berkom
f330b40521 GtkCellArea now paints focus on cells
Added concept of "Focus Siblings" to GtkCellArea so that some
static text/icon may be included in the focus/click area of
an activatable or editable cell, implemented focus drawing
as well, updated testcellarea to reflect the changes.
2010-11-11 16:13:06 +09:00
Tristan Van Berkom
524110f902 Focus driving in GtkCellArea now works.
- Fixed focus driving in GtkCellArea with refined apis
 - Added gtk_cell_area_activate() to be called when the area has focus
   (to activate or start editing the focused cell)
 - Added support for this in cellareascaffold
 - testcellarea now watches the "toggled" signal for a toggle renderer
   and updates the model state accordingly, this currently works with
   keyboard navigation, however focus is still not painted on cells.
2010-11-10 22:25:13 +09:00
Tristan Van Berkom
4643d90c5f Committing new (and simplified) focus handling approach for GtkCellArea.
Also adding missing file cellareascaffold.h
2010-11-10 19:17:06 +09:00
Matthias Clasen
c51bfe8757 Bump glib req. to 2.27.3 2010-11-09 16:18:16 +09:00
Chun-wei Fan
fb1a9d8c0d gdk.vcprojin: Include .rc file and fixed linker settings
-Added the missed gdk.rc file
-Made up for missed libraries required for link for configs other than Debug|win32
2010-11-09 16:18:16 +09:00
Chun-wei Fan
2fd00b9af3 gtk-demo.vcproj: set linker settings to be consistent
-Made up for the additional dependencies for setups other than Debug|Win32 (the correct setting)
-Made Subsystem="1" for all setups like Debug|Win32 (the correct setting)
2010-11-09 16:18:16 +09:00
Chun-wei Fan
5c52344551 gtk+.vsprops: Removed GdkPixbuf stuff and made up for missed headers
-Removed the GdkPixbuf stuff as it is now in a package of its own and added
 it as a dependent library here
-Made up for the headers missed in the installation stage for GTK+/GDK
2010-11-09 16:18:16 +09:00
Matthias Clasen
67112dae94 NEWS for 2.91.4 2010-11-09 16:18:15 +09:00
Matthias Clasen
f991f88d3f Fix entry completion window sizing
I don't think we are at the end of scrolledwindow tweaks yet,
but this will make things work for now, as they used to.

https://bugzilla.gnome.org/show_bug.cgi?id=633670
2010-11-09 16:18:15 +09:00
Ryan Lortie
3f2281f8c6 pixbuf engine: remove only use of GCache in Gtk
We'll be deprecating GCache in GLib soon.
2010-11-09 16:18:15 +09:00
Patrick Bernaud
8eb7181979 docs: Move documentation to inline comments: GtkPaned
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634338

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-09 16:18:15 +09:00
Patrick Bernaud
a00a0fb209 docs: Move documentation to inline comments: GtkProgressBar
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634339

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-09 16:18:15 +09:00
Patrick Bernaud
312fd9efc0 docs: Move documentation to inline comments: GtkPageSetup
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634340

Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-09 16:18:15 +09:00
Tristan Van Berkom
f85938a211 Changed testcellarea
Changed testcellarea to watch the iter for size changes and queue resizes
instead of explicitly queueing resizes when controls change.
2010-11-09 14:09:47 +09:00
Tristan Van Berkom
e03b280757 Adding expand/align controls to testcellarea. 2010-11-09 13:50:53 +09:00
Tristan Van Berkom
c932beef4b Fixing GtkCellAreaBox to rebuild groups when align/expand child properties change. 2010-11-09 13:50:30 +09:00
Tristan Van Berkom
2a3ae8da3a Added orientation control on testcellarea test
shows vertical orientation of cells lined up horizontally instead
of horizontal orientation of cells stacked up vertically.
2010-11-09 13:23:12 +09:00
Tristan Van Berkom
368cded84d Fixed a bug in GtkCellAreaBoxIter when allocating vertically. 2010-11-09 13:22:44 +09:00
Tristan Van Berkom
85d6aa1627 Added test and scaffolding widget for GtkCellArea. 2010-11-09 01:26:38 +09:00
Tristan Van Berkom
e5e507e1d4 Added GtkCellArea classes to gtk.h and fixed a remainig rendering bug. 2010-11-09 01:25:45 +09:00
Tristan Van Berkom
92b9f432dd Fixed initial bugs in GtkCellArea implementation, starting to render
Tested all of this with some scaffolding code, test case comming soon.
2010-11-08 17:43:27 +09:00
Tristan Van Berkom
0336838366 Implemented focus handling in GtkCellAreaBox
Now when the GtkCellAreaBox receives key events it cycles
the currently focused cell to the next focusable cell in the box
while observing the navigation direction, it then emits "focus-leave"
when hitting the boundries of the area.
2010-11-08 11:31:03 +09:00
Tristan Van Berkom
09e3d9d3aa Added gtk_cell_area_stop_editing to allow explicit stopping of cell editing. 2010-11-08 11:31:03 +09:00
Tristan Van Berkom
cbe1154e51 Added gtk_cell_area_activate_cell() and some cell editing management
Now:
  - The current edit cell and editable widget in use can be fetched
    with properties and accessors
  - gtk_cell_area_activate_cell() handles bookkeeping of the currently
    edited cell, starting the editing of a cell, activating a cell etc
  - Exported signals are available on GtkCellArea: "editing-started",
    "editing-canceled", "editing-done", "remove-editable".
  - Upon receiving GDK_KEY_Escape current editing gets canceled.
2010-11-08 11:31:03 +09:00
Hans Breuer
017f637a76 Bug 609622 - disappearing statusicon
Windows 7 is managing status icon visibility across process lifetime,
which did not work with GTK+ create icons. Apparently the mechanism
does not require use of new API (like suggested by MSDN), but it is
enough to give a "unique" tooltip at creation time.
Formerly this initial tooltip was not set at all, later setting via
gtk_status_icon_set_tooltip_text() is not enough, but luckily
different follow-up tooltips don't disturb the intended behavior.
(cherry picked from commit ae0544c636)
(cherry picked from commit 8a9d458baf)
2010-11-08 11:31:03 +09:00
Hans Breuer
0b749700e6 Update msvc build 2010-11-08 11:31:03 +09:00
Matthias Clasen
e5c0d40d94 Make GtkFileChooserButton behave as expected when expanding 2010-11-08 11:31:03 +09:00
Ivar Smolin
c4a54055fe [l10n] Updated Estonian translation 2010-11-08 11:31:02 +09:00
Garrett Regier
c65a617bd7 docs: Move documentation to inline comments: GtkCellView
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-08 11:31:02 +09:00
Garrett Regier
24c3b956f3 docs: Move documentation to inline comments: GtkCellRendererText
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-08 11:31:02 +09:00
Javier Jardón
322db81256 docs: Move documentation to inline comments: GtkCellRenderer 2010-11-08 11:31:02 +09:00
Javier Jardón
b1112cb87c docs: Move documentation to inline comments: GtkSettings 2010-11-08 11:31:02 +09:00
Garrett Regier
bf17f3f32c docs: Move documentation to inline comments: GtkColorSelection
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-08 11:31:02 +09:00
Garrett Regier
46627d008f docs: Move documentation to inline comments: GtkLayout
Signed-off-by: Javier Jardón <jjardon@gnome.org>
2010-11-08 11:31:02 +09:00
Kizito Birabwa
e1e90c6f9c Added Luganda translation 2010-11-08 11:31:02 +09:00
Tor Lillqvist
a446664c25 Add _gtk_cell_renderer_calc_offset 2010-11-08 11:31:02 +09:00
Tor Lillqvist
bd8464834c Fix build breakage and avoid a warning 2010-11-08 11:31:02 +09:00
Tor Lillqvist
7754bf1a63 Avoid a compiler warning 2010-11-08 11:31:02 +09:00
Tor Lillqvist
c418de1672 Drop unused static function 2010-11-08 11:31:02 +09:00
Javier Jardón
a31142a8fa docs: move documentation to inline comments: GtkColorButton 2010-11-08 11:31:01 +09:00
Javier Jardón
65834294a5 docs: move documentation to inline comments: GtkTreeView 2010-11-08 11:31:01 +09:00
Javier Jardón
0331e1fab7 docs: Move documentation to inline comments: GtkTextView 2010-11-08 11:31:01 +09:00
Matthias Clasen
3b541bcfd4 GtkApplication: rewrite example application
The intended way of using GtkApplication is mainly by subclassing,
so make the example do that.
2010-11-08 11:31:01 +09:00
Matthias Clasen
9157e15653 GtkApplication: drop Quit from the docs
GtkApplication does not currently implement any default actions.
2010-11-08 11:31:01 +09:00
Javier Jardón
a62b185e29 docs: move documentation to inline comments: GtkEntry 2010-11-08 11:31:01 +09:00
Javier Jardón
dfeff671c4 docs: Fix generation of GtkGrid documentation 2010-11-08 11:31:01 +09:00
Cosimo Cecchi
99144330a0 tests: fix the build
gtk_box_new() changed API recently.
2010-11-08 11:31:01 +09:00
Cosimo Cecchi
1433ea24b5 icon-theme: always force icon sizes for emblems
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-08 11:31:01 +09:00
Cosimo Cecchi
c068e988a1 tests: add a test for pixbufs implementing the GIcon interface
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-08 11:31:01 +09:00
Cosimo Cecchi
4239e49982 icon-theme: support pixbufs implementing the GIcon interface
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-08 11:31:01 +09:00
Cosimo Cecchi
cb51ad606f gtkwindow: properly set the window icon list (#631331)
This was probably a rendering-cleanup regression.
2010-11-08 11:31:01 +09:00
Tristan Van Berkom
631bdc438c Made progress on focus handling.
- Added vfunc to get the allocation of a cell inside an area
 - Superclass GtkCellArea handles activation of focused cells
   by handling key events (as well as editing of editable cells)
 - Added signal "editing-started" to GtkCellArea to signal that
   editing has started (generally signaled from inside event handling)
 - Added properties "focus-cell" and "edited-cell"
2010-11-05 22:19:50 +09:00
Tristan Van Berkom
1ad5fa3e7a Committing half-way done focus work. 2010-11-05 22:19:50 +09:00
Murray Cumming
ce815afece GtkWidget/GtkContainer: Slight fixes to geometry-management docs.
Replace it's with its in several places.
Replace some , with .
Replace some ; with .
Fix some plurals.
Other minor corrections.
2010-11-05 22:19:50 +09:00
Murray Cumming
b8bcbd1376 GtkWidget: Document the size-request signal deprecation.
Hopefully my text is correct.
2010-11-05 22:19:50 +09:00
Matthias Clasen
a83b0b68ce Handle empty button boxes gracefully
https://bugzilla.gnome.org/show_bug.cgi?id=633915
2010-11-05 22:19:50 +09:00
Christian Dywan
7ca240916f Only show Desktop in file chooser button if there is one
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=632894
2010-11-05 22:19:50 +09:00
Owen W. Taylor
d2b64a1db2 Switch to CSS interpretation of rgb() and rgba() colors
CSS3 defines a somewhat odd syntax for rgba() colors - the rgb values
are integers from 0 to 255 or percentages and the a value is a
float from 0 to 1. To avoid increasing the total amount of confusion
in the world, make gdk_rgb_to_string() and gdk_rgb_parse() follow
this syntax rather than using floats for r, g, and b.

https://bugzilla.gnome.org/show_bug.cgi?id=633762
2010-11-05 22:19:50 +09:00
Ryan Lortie
4bdff81f2e gtktoolitemgroup: don't use GTimeSpec
Use gint64 time instead.
2010-11-05 22:19:49 +09:00
Javier Jardón
65e045f5f4 Revert "Move the /*< private >*/ at the correct position"
All the object structures is opaque
This reverts commit c59ca4f6b9.
2010-11-05 22:19:49 +09:00
Javier Jardón
dadf5c331a docs: Improve cross-referencing on GtkGrid docs 2010-11-05 22:19:49 +09:00
Javier Jardón
7dd52d7b60 docs: Fix gtk-doc markup in GtkWidget docs 2010-11-05 22:19:49 +09:00
Takayuki KUSANO
77be5690fd Updated Japanese translation 2010-11-05 22:19:49 +09:00
Murray Cumming
32b21694ef Fix tiny documetnation typo. 2010-11-05 22:19:49 +09:00
Tristan Van Berkom
832c123fd2 Extended gtk_cell_area_apply_attributes() to account for expander/expanded cells
The state of expanded cells must come from the view, since these states
can vary across views accessing the same model (also "finished up" the
applying of attributes code).
2010-11-02 18:01:03 +09:00
Murray Cumming
73e45cef9d GtkScrollable: Improve the documentation text. 2010-11-02 17:51:07 +09:00
Tristan Van Berkom
7ddf87f9ef Account for the possibility of invisible cells in GtkCellAreaBox/Iter
Also changed the GtkCellAreaBox to keep groups in an array
instead of a list, for this code it's generally more useful
this way (and more optimized).
2010-11-02 16:51:06 +09:00
Tristan Van Berkom
e3b75cb053 Adding tentative implementation of GtkCellAreaBox->grab_focus(). 2010-11-02 12:04:38 +09:00
Murray Cumming
0583288dd9 Removed a trailing enum comma. 2010-11-02 12:04:38 +09:00
Ignacio Casal Quinteiro
997835af83 Normalize boolean. 2010-11-02 12:04:38 +09:00
Ignacio Casal Quinteiro
bea2487d83 Do not use gbooleans to save some bits. 2010-11-02 12:04:38 +09:00
Matthias Clasen
afa282f009 Bump version 2010-11-02 12:04:38 +09:00
Paolo Borelli
5e90bb269d Get rid of unused shaped_object list in _GtkTextLineDisplay
https://bugzilla.gnome.org/show_bug.cgi?id=631076
2010-11-02 12:04:37 +09:00
Matthias Clasen
053171c530 Update NEWS 2010-11-02 12:04:37 +09:00
Matthias Clasen
bb0ff159cb GtkToolitemGroup: Use monotonic clock for animation timeout 2010-11-02 12:04:37 +09:00
Ignacio Casal Quinteiro
ed62f93439 Add caseless unit tests for textiter. 2010-11-02 12:04:37 +09:00
Ignacio Casal Quinteiro
794e0446e9 Add case insensitive to GtkTextIter. Fixes bug #61852.
This code has been taken from GtkSourceView so also kudos to Paolo Maggi
and Paolo Borelli for helping with this patch.
2010-11-02 12:04:37 +09:00
Paolo Borelli
3511215730 Fix backward search bug exposed by the unit test
When searching with multiple lines first_line_start/end were initialized
to the last line start/end iters
2010-11-02 12:04:37 +09:00
Ignacio Casal Quinteiro
a2360f979a Add unit tests for textiter. 2010-11-02 12:04:37 +09:00
Matthias Clasen
ac3258b07d Avoid exporting an extra symbol 2010-11-02 12:04:37 +09:00
Matthias Clasen
31b0c1ad35 Fix make check 2010-11-02 12:04:37 +09:00
Paolo Borelli
002704fe25 Move the /*< private >*/ at the correct position 2010-11-02 12:04:37 +09:00
Matthias Clasen
673e660edc NEWS for 2.91.3 2010-11-02 12:04:37 +09:00
Ivar Smolin
cba8cd8c59 [l10n] Updated Estonian translation 2010-11-02 12:04:36 +09:00
Matthias Clasen
a8ade90b4f Fix a typo 2010-11-02 12:04:36 +09:00
Matthias Clasen
0c8df06f73 Mention actions in the libunique migration guide 2010-11-02 12:04:36 +09:00
Matthias Clasen
71d6a289fc Fix interaction between scrolling menus and automatic mnemonics
https://bugzilla.gnome.org/show_bug.cgi?id=612611
2010-11-02 12:04:36 +09:00
Michael Natterer
ca6398a649 gtk: remove all border_width handling from the button box
and let GtkContainer do the job; fixes doubled border widths. GtkBox
did already delegate border handling to Gtkcontainer, which interacted
badly with a subclass that didn't.
2010-11-02 12:04:36 +09:00
Michael Natterer
8dd7023b52 gtk: fix automatic width of spin buttons which have no width in chars set 2010-11-02 12:04:35 +09:00
Michael Natterer
8979855f60 tests: missed these two gtk_box_new() which sneaked in by rebasing... 2010-11-02 12:04:35 +09:00
Matthias Clasen
c70f3e26d2 GtkAssistant: Mention custom pages in the introduction 2010-11-02 12:04:35 +09:00
Michael Natterer
260ccdfebe gtk: remove "gboolean homogeneous" from gtk_box_new()
Because it's FALSE in virtually all use cases.
2010-11-02 12:04:35 +09:00
Matthias Clasen
c50f790417 Add content size test for scrolled window 2010-11-02 12:04:35 +09:00
Bastien Nocera
76a0b9e5fa GtkAssistant: Add custom page type
The custom page type will not show any buttons by default, and
it is left to the application to add its own buttons instead.

The _next_page() and _previous_page() functions can be used
for the back and forward buttons used by the application.

https://bugzilla.gnome.org/show_bug.cgi?id=576498
2010-11-02 12:04:34 +09:00
Bastien Nocera
ef2fe67832 GtkAssistant: Add more details about buttons shown
Add more documentation about which buttons will be shown for which
type of GtkAssistant page.

https://bugzilla.gnome.org/show_bug.cgi?id=576498
2010-11-02 12:04:34 +09:00
Matthias Clasen
75fd27e920 Improve GtkAssistant docs 2010-11-02 12:04:34 +09:00
Martin Nordholts
0feb08a4bb Handle NULL intp in test_increment_intp()
Support passing NULL for &int to gtk_test_display_button_window() so
we can use that function also when we are not interested in counting
clicks.
2010-11-02 12:04:34 +09:00
Tristan Van Berkom
e94a177774 Added cell focus apis to GtkCellArea. 2010-11-01 16:01:25 +09:00
Tristan Van Berkom
54004237be Added GtkCellRendererState flags to GtkCellArea->event/render() methods 2010-11-01 12:39:00 +09:00
Tristan Van Berkom
9c4eb3d431 Changed GtkCellArea margin-left/right... for cell-margin-left/right...
The rationale here is that every cell in an area needs to have space
reserved around it, requests have to be fully margin inclusive...
cells need to have the full size fed as the "background area" and
the "cell area" has margins removed... This will be used by GtkTreeViewColumn
to set the focus line width so that cells can paint a background on the
full background, then render themselves into the cell area... and parents
can go ahead and draw focus and other indicators on the background area
but outside of the cell area.
2010-10-31 22:50:53 +09:00
Tristan Van Berkom
163c3c8852 Added margins to the cell area
Added margin properties to the cell area, margins will be removed
from the area given to ->render() when creating the inner cell area.
2010-10-31 18:55:51 +09:00
Tristan Van Berkom
25b00759c5 Implemented cell packing properties on GtkCellAreaBox 2010-10-31 17:45:29 +09:00
Tristan Van Berkom
01d2eddf03 Added GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID to gtkcellarea.h 2010-10-31 17:45:06 +09:00
Tristan Van Berkom
d781c226da Implemented "cell properties" on the GtkCellArea
Added cell "packing" properties for generic configuration
of child cells inside an area.
2010-10-31 17:13:15 +09:00
Tristan Van Berkom
6da74b6e1e Finished up allocation of cells.
Added get_allocated_cells() which returns a practical list
of cells with allocation for render/event time, this abstracts
whether the cells are individually aligned or aligned into groups,
when there are groups of cells before an alignment, those groups
get allocated on the fly for render time.
2010-10-31 15:22:39 +09:00
Tristan Van Berkom
e494f102cf Cleaned up GtkCellAreaIter implementation to use arrays to store grouped cell information. 2010-10-31 13:06:10 +09:00
Tristan Van Berkom
b12e7a8115 Adding GtkCellAreaIter arg to GtkCellArea->render/->event 2010-10-30 23:48:52 +09:00
Tristan Van Berkom
972e077966 Fixed hangs in TextView and ToolPalette
Fixed the hangs by adding a ->inside_allocation flag and avoiding to
queue resizes while inside the allocation loop. The extra queue'd resizes
were causing the scrolled window size_allocate() to perform the guess
again and again thus causing an infinite loop.
2010-10-30 23:37:24 +09:00
Tristan Van Berkom
a3b4681f9f Fixing typo in scrolled window
Seems with GtkScrollable interface we were setting the hadjustment as
the vadjustment, thanks to Cosimo Cecchi who debugged this and finally
found the typo.
2010-10-30 23:37:24 +09:00
Tristan Van Berkom
ea6df20bbb Added the majority of the allocate machinery to GtkCellAreaIter[Box]. 2010-10-30 23:06:26 +09:00
Tristan Van Berkom
86fb6ab216 Fixed GtkCellAreaIter to notify invalidation of sizes on flush
Also fixed GtkCellAreaBox to track the iters it creates and flush
them when the overall layout configuration changes (add/remove/reorder/
spacing changed etc).
2010-10-30 21:40:22 +09:00
Javier Jardón
1dc7e3d885 Emphasize that GtkBox and GtkTable can be replaced by GtkGrid 2010-10-30 17:37:04 +09:00
Javier Jardón
c15ef6405c Use gtk_box_new() instead gtk_[v|h]box_new() 2010-10-30 17:37:03 +09:00
Javier Jardón
ae1d1fd048 docs: remove template of deprecated gtkcombo widget 2010-10-30 17:37:03 +09:00
Matthias Clasen
1469c3fd69 Migration guide additions
Add some information about expand flags and the scrollable interface.
2010-10-30 17:37:03 +09:00
Christian Persch
71b8875d2b Make gdk_rgba_to_string() take a const GdkRGBA
https://bugzilla.gnome.org/show_bug.cgi?id=633216
2010-10-30 17:37:03 +09:00
Matthias Clasen
0aa94bb946 Fix initial size allocation with child widgets
On some cases, it would take a resize of the window for children
to 'jump into place'.

https://bugzilla.gnome.org/show_bug.cgi?id=633500
2010-10-30 17:37:03 +09:00
Javier Jardón
6c301d4b0a Use gtk_scrollbar_new() instead gtk_[v|h]scrollbar_new() 2010-10-30 17:37:03 +09:00
Javier Jardón
234553c093 Use gtk_scale_new() instead gtk_[v|h]scale_new() 2010-10-30 17:37:03 +09:00
Javier Jardón
d03d2943d2 Use gtk_scale_new_with_range() instead gtk_[v|h]scale_new_with_range() 2010-10-30 17:37:03 +09:00
Javier Jardón
cdf4b4bbd5 Use gtk_paned_new() instead gtk_[v|h]paned_new() 2010-10-30 17:37:03 +09:00
Javier Jardón
524e704147 Use gtk_ruler_new() instead gtk_[v|h]ruler_new() 2010-10-30 17:37:02 +09:00
Javier Jardón
821c3c6578 Use gtk_separator_new() instead gtk_[v|h]separator_new() 2010-10-30 17:37:02 +09:00
Javier Jardón
2615ebf37e Use gtk_button_box_new() instead gtk_[v|h]_button_box_new() 2010-10-30 17:37:02 +09:00
Michael Natterer
34627a6371 gtk: remove declarations of removed internal functions 2010-10-30 17:37:02 +09:00
Matthias Clasen
ef03dc3fc6 Don't set get_preferred_width_for_height to NULL
The size request machinery expects that it is non-NULL.
2010-10-30 17:37:02 +09:00
Matthias Clasen
70bef431b0 GtkComboBox: Add a constructor that takes a model and adds an entry
https://bugzilla.gnome.org/show_bug.cgi?id=633050
2010-10-30 17:37:02 +09:00
Javier Jardón
d0974d4f02 Re-enable deprecation guards 2010-10-30 17:37:02 +09:00
Carles Ferrando
92431720dc Updated Catalan (Valencian) translation 2010-10-30 17:37:02 +09:00
Carlos Garnacho
18797dfa9a Use the client pointer for events with no device.
The core pointer is sort of meaningless in a multidevice environment,
the client pointer is used instead to fake a GdkDevice on events that
don't have one.
2010-10-30 17:37:02 +09:00
Owen W. Taylor
2d65bd08c3 Remove unused GdkDeviceManager variable
gdk_display_get_device_manager() was called but the device manager
not used.
2010-10-30 17:37:02 +09:00
Matthias Clasen
ac0b97aa23 ifdef X-specific stuff
gdk_x11_ APIs can only be used inside #ifdef GDK_WINDOWING_X11.
2010-10-30 17:37:01 +09:00
Matthias Clasen
22d01c45cc GtkButtonBox doesn't do height-for-width
GtkButtonBox doesn't do height-for-width, therefore we should
explicitly set these methods to NULL instead of hoping that the
inherited GtkBox implementations work ok.
2010-10-30 17:37:01 +09:00
John (J5) Palmieri
1448111a58 [introspection] annotate delete_text invoker to match do_delete_text v-method 2010-10-30 17:37:01 +09:00
Vincent Untz
e0d1652a99 Port tests to GtkScrollable API instead of deprecated GtkLayout API
https://bugzilla.gnome.org/show_bug.cgi?id=633374
2010-10-30 17:37:01 +09:00
Tristan Van Berkom
3b1c301a66 Made GtkCellAreaBox:align-cells a packing property per cell
Implemented all request apis on GtkCellAreaBox considering
alignment of groups of cells (some cells can be aligned while
others fill space smartly).
2010-10-30 17:35:22 +09:00
Ignacio Casal Quinteiro
211c39c500 Remove useless vars. 2010-10-30 17:35:22 +09:00
Tristan Van Berkom
89cc46374d Fire a warning if there are any handlers connected to the deprecated "size-request" signal. 2010-10-30 17:35:22 +09:00
Tristan Van Berkom
731853a7ec Added a runtime warning if any class is implementing the ->size_request() vfunc. 2010-10-30 17:35:22 +09:00
Tristan Van Berkom
b277ba4238 Make GtkPathBar use set_size_request() instead of the "size-request" signal. 2010-10-30 17:35:22 +09:00
Tristan Van Berkom
05ca7e14b0 Removed size_request from GtkToolItemGroup
Ofcourse GtkToolPalette needs real migration to height-for-width
apis, this patch just removes the need for the size_request
signal and vfunc.
2010-10-30 17:35:21 +09:00
Tristan Van Berkom
3265d46c9d Use gtk_widget_set_size_request() instead of handling "size-request" signals. 2010-10-30 17:35:21 +09:00
Matthias Clasen
d02443d57c Add a migration guide section on size_request 2010-10-30 17:35:21 +09:00
Matthias Clasen
9c128ed442 Fix the build 2010-10-30 17:35:21 +09:00
Matthias Clasen
eb60282b1b Fix gtk_fixed_get_preferred_width
When dealing with widths, use x, not y.
Spotted by Ignacio Casal Quintero.
2010-10-30 17:35:21 +09:00
Bastien Nocera
2a37d949ba gtk: Fix crasher when loading symbolic icons
If the style didn't include symbolic colors for either success,
warning or error, gtk_icon_info_load_symbolic_for_style() would crash.

Instead, make sure we don't try to use the colors if they're not
available, and fallback on default colors inside
_gtk_icon_info_load_symbolic_internal().
2010-10-30 17:35:20 +09:00
Owen W. Taylor
d8fdbd8b72 GtkSocket: Add error trap around call to XFixesChangeSaveSet()
Previously any X error from XFixesChangeSaveSet() was being eaten
by the subsequent error trap when sending a client message. With
asynchronous error traps, that side effect no longer occurs, so
we need to add a proper error trap around the call to
XFixesChangeSaveSet().

https://bugzilla.gnome.org/show_bug.cgi?id=633274
2010-10-30 17:35:20 +09:00
Tristan Van Berkom
d86164f90d Revert "Removed size_request from GtkTextView"
This reverts commit 87dfa724eb.

I pushed this to the wrong branch, ouch sorry.
2010-10-30 17:35:20 +09:00
Matthias Clasen
2d4f3e1365 Remove size_request from GtkSocket
This is only preliminary, GtkSocket can do minimal/natural width
properly, there's code for that in the extended-layout branch.
2010-10-30 17:35:20 +09:00
Matthias Clasen
965b3af8a1 Don't g_free gslice-allocated structures
This was causing memory corruption when removing remote plugs from
sockets.
2010-10-30 17:35:20 +09:00
Matthias Clasen
3cdf3bc46c Remove size_request from GtkScale 2010-10-30 17:35:20 +09:00
Tristan Van Berkom
e573a455bb Removed size_request from GtkTearoffMenuItem 2010-10-30 17:35:20 +09:00
Tristan Van Berkom
292f32dde8 Fixed remaining call to ->size_request in GtkTextView. 2010-10-30 17:35:20 +09:00
Matthias Clasen
ebcb6e6b94 Remove size_request from GtkSeparatorToolItem 2010-10-30 17:35:20 +09:00
Matthias Clasen
5e0451de3a Use correct icon name in testtoolbar 2010-10-30 17:35:20 +09:00
Tristan Van Berkom
0db2b334b0 Removed size_request from GtkTextView 2010-10-30 17:35:19 +09:00
Matthias Clasen
9f074f8612 Remove size_request from gtkToolItem 2010-10-30 17:35:19 +09:00
Tristan Van Berkom
0b3e2ffee6 Removing size_request from GtkToolPalette
Note GtkToolPalette is internally height-for-width, it needs to
be refactored to cooperate with GTK+'s height-for-width geometry
management properly.
2010-10-30 17:35:19 +09:00
Matthias Clasen
bf75f63f49 Remove size_request from GtkToolbar
This is just a bandaid fix, the toolbar should really return proper
min/natural sizes, so that we can handle the overflow properly.
2010-10-30 17:35:19 +09:00
Matthias Clasen
f3d5e20cff Remove size_request from GtkTable 2010-10-30 17:35:19 +09:00
Tristan Van Berkom
cd2a7a899f Removing size_request from GtkTreeview.
This should be implemented as propery height-for-width by
the treeview-refactor branch. This commit includes a FIXME
comment that scroll adjustments should not be updated from
inside size requests but only after receiving an allocation.
2010-10-30 17:35:19 +09:00
Matthias Clasen
113362b169 Remove size_request from GtkRuler 2010-10-30 17:35:19 +09:00
Matthias Clasen
7f8d92f02c Remove size_request from GtkPathBar 2010-10-30 17:35:19 +09:00
Matthias Clasen
70c81d6651 Remove size_request from GtkSeparator 2010-10-30 17:35:19 +09:00
Matthias Clasen
4927c16486 Remove size_request from GtkRange 2010-10-30 17:35:19 +09:00
Matthias Clasen
53744b6daf Fix a typo 2010-10-30 17:35:19 +09:00
Matthias Clasen
6b5debcaca Remove size_request from GtkPaned
This is not the final word; GtkPaned should really implement
height-for-width, but I didn't have time to complete that now.
2010-10-30 17:35:18 +09:00
Ivar Smolin
c823f33516 [l10n] Updated Estonian translation 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
34e1cd373b Removed size_request from GtkOffscreenWindow 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
af0c4bc656 Removed size_request from GtkNotebook 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
e9f541dc51 Removed size_request from GtkMenuBar 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
0f9c04769b Removed size_request from GtkImageMenuItem 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
8565b86223 Removed size_request from GtkIconView. 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
399f353427 Remove size_request from GtkHandleBox 2010-10-30 17:35:18 +09:00
Tristan Van Berkom
16512bd9d3 Fixed unused variable in get_preferred_height(). 2010-10-30 17:35:18 +09:00
Matthias Clasen
f336754a8f Remove size_request from GtkSpinButton 2010-10-30 17:35:18 +09:00
Matthias Clasen
eca2d782ce Remove size_request from GtkProgressBar 2010-10-30 17:35:17 +09:00
Matthias Clasen
f83403098d Remove size_reuqest from GtkImage 2010-10-30 17:35:17 +09:00
Matthias Clasen
d4a07d5661 Remove size_request from GtkLayout 2010-10-30 17:35:17 +09:00
Matthias Clasen
381cd8b07c Remove size_request from GtkHSV 2010-10-30 17:35:17 +09:00
Matthias Clasen
b3f6f67c33 Remove size_request from GtkFixed 2010-10-30 17:35:17 +09:00
Matthias Clasen
e165c6c884 Remove size_request from GtkEntry 2010-10-30 17:35:17 +09:00
Matthias Clasen
2e4e7264e6 Remove size_request from GtkCheckButton 2010-10-30 17:35:17 +09:00
Matthias Clasen
23a9127765 Remove size_request from GtkCalendar 2010-10-30 17:35:17 +09:00
Matthias Clasen
2078db969c Remove size_request from GtkButtonBox 2010-10-30 17:35:17 +09:00
Matthias Clasen
42de07f2f3 Remove size_request from GtkAssistant 2010-10-30 17:35:17 +09:00
Javier Jardón
65dd3460ce Fix gtk-doc markup: /* <private> */ should be /*< private >*/ 2010-10-30 17:35:17 +09:00
Tristan Van Berkom
abcfd2d5ef Merge branch 'master' into treeview-refactor 2010-10-27 01:06:58 +09:00
Tristan Van Berkom
695e427522 Added most of the request code for GtkCellAreaBox
Added the following to GtkCellAreaBox:
   - GtkCellAreaBox:spacing property defines spacing between cells
   - GtkCellAreaBox:align-cells property defines whether cells should
     be aligned with cells in adjacent rows.
   - Implementations for get_preferred_width / get_preferred_height
   - Implementations for get_preferred_height_for_width and the other
     when the box is oriented in the easy way (i.e. height_for_width()
     implemented for a vertical box, no virtual allocations done yet).
2010-10-27 01:01:58 +09:00
Tristan Van Berkom
11f8dfe3f4 Finished up initial revision of GtkCellAreaBoxIter
The interaction between this class and GtkCellAreaBox could
use some optimization, maybe the cells and their sizes should
be returned as a list and iterated over at the same time as
requesting sizes instead of the hash table approach currently
taken, however the code is clean this way for now.
2010-10-26 23:01:17 +09:00
Tristan Van Berkom
97e3ccc58b Added GtkCellAreaBox subclass to handle alignments of cells across rows inside a GtkCellAreaBox. 2010-10-26 18:22:59 +09:00
Tristan Van Berkom
b5e529f578 Added GtkCellAreaIter class
Added base class to hold alignment and overall size request information
while itterating over the size requests of various rows of a GtkTreeModel,
updated GtkCellArea/GtkCellAreaBox classes accordingly.
2010-10-26 17:14:20 +09:00
Tristan Van Berkom
8679563247 Merge branch 'master' into treeview-refactor 2010-10-26 11:37:27 +09:00
Tristan Van Berkom
fe3f948d0a Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox. 2010-10-24 20:08:21 +09:00
Tristan Van Berkom
468a1d3e7c Implemented basic child list handling on GtkCellAreaBox
Added the child list to GtkCellAreaBox, added _pack_start() and
_pack_end() apis to GtkCellAreaBox since they are appropriate there
and implemented GtkCellLayoutIface to override the _pack_start()/end()
methods (since the base GtkCellArea class simply forwards these apis
to the generic ->add() api on the base class).
2010-10-24 20:01:04 +09:00
Tristan Van Berkom
0722fbe7c8 Removed attribute handling from class vfuncs of GtkCellArea.
Now GtkCellArea handles attribute connections in the base class,
subclasses only need to add/remove the renderers, render them,
do geometry and handle events.
2010-10-24 19:20:10 +09:00
Tristan Van Berkom
0e3179b669 Merge branch 'master' into treeview-refactor 2010-10-24 15:49:18 +09:00
Tristan Van Berkom
0d7fdfb36e Merge branch 'master' into treeview-refactor 2010-10-24 15:48:46 +09:00
Tristan Van Berkom
45e42ca2d2 Implemented remaining portions of GtkCellLayout iface
Now GtkCellArea provides a generic way of applying attributes
from a GtkTreeModel/GtkTreeIter, GtkCellArea bookkeeps a hashtable
of GtkCellLayoutDataFunc's and completely abstracts the applying
of data to cells... GtkCellArea implementations need only to bookkeep
the added renderers and attributes (probably we can abstract the
attribute bookkeeping in the base class as well).

Things starting to take a good and practical shape.
2010-10-24 15:44:48 +09:00
Tristan Van Berkom
741d10ca4f Adding initial code skeleton for GtkCellAreaBox. 2010-10-23 17:01:58 +09:00
Tristan Van Berkom
8885320d21 Merge branch 'master' into treeview-refactor 2010-10-23 13:25:45 +09:00
Tristan Van Berkom
705e7ee100 Added GtkCellArea to the build
Starting to form a good api, implemented most of GtkCellLayout iface
on the base class routing the apis through the new class vfuncs.
2010-10-22 16:41:52 +09:00
Tristan Van Berkom
8bb20925ed Adding vague initial draft of GtkCellArea to the codebase (treeview-refactor branch). 2010-10-21 22:46:10 +09:00
2081 changed files with 467384 additions and 344212 deletions

16
HACKING
View File

@@ -1,9 +1,9 @@
If you want to hack on the GTK+ project, you'll need to have
the following packages installed:
- GNU autoconf 2.54
- GNU automake 1.7
- GNU libtool 1.4
- GNU autoconf 2.62
- GNU automake 1.11
- GNU libtool 2.2
- indent (GNU indent 1.9.1 is known good)
- GNU gettext 10.40
@@ -19,10 +19,10 @@ Information about using git with GNOME can be found here:
http://live.gnome.org/Git
In order to get GIT gtk+ installed on your system, you need to have
the most recent GIT versions of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
In order to get GIT GTK+ installed on your system, you need to have
the most recent GIT versions of GLib, Pango, and ATK installed as well.
The installation process of these libraries is similar to that of GTK+,
but needs to be fulfilled prior to installation of GTK+.
If at all possible, please use GIT to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from GIT:
@@ -37,7 +37,7 @@ have a gnome account, you want to use the following instead:
$ git clone ssh://<username>@git.gnome.org/git/gtk+
To compile the GIT version of gtk+ on your system, you will need to take
To compile the GIT version of GTK+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:

View File

@@ -9,23 +9,23 @@ GTK+ requires the following packages:
GdkPixbuf @GDK_PIXBUF_REQUIRED_VERSION@, ATK @ATK_REQUIRED_VERSION@
and cairo @CAIRO_REQUIRED_VERSION@.
- gobject-introspection 0.9.3 or newer.
- gobject-introspection @INTROSPECTION_REQUIRED_VERSION@ or newer.
Simple install procedure
========================
% gzip -cd gtk+-@GTK_VERSION@.tar.gz | tar xvf - # unpack the sources
% cd gtk+-@GTK_VERSION@ # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
% cd gtk+-@GTK_VERSION@ # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
% make install # install GTK+
The Details
===========
Complete information about installing GTK+ and related libraries can be found
in the file:
Complete information about installing GTK+ and related libraries
can be found in the file:
docs/reference/gtk/html/gtk-building.html

View File

@@ -1,7 +1,7 @@
## Makefile.am for GTK+
include $(top_srcdir)/Makefile.decl
SRC_SUBDIRS = gdk gtk modules demos tests perf examples
SRC_SUBDIRS = gdk gtk libgail-util modules demos tests perf examples
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@@ -47,47 +47,45 @@ MAINTAINERCLEANFILES = \
$(srcdir)/install-sh \
$(srcdir)/ltmain.sh \
$(srcdir)/missing \
$(srcdir)/mkinstalldirs \
$(srcdir)/omf.make \
$(srcdir)/xmldocs.make \
$(srcdir)/gtk-doc.make \
$(srcdir)/ChangeLog \
`find "$(srcdir)" -type f -name Makefile.in -print`
GDKTARGET=@gdktarget@
## Copy .pc files to target-specific names
gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc
rm -f gtk+-$(GDKTARGET)-3.0.pc && \
cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc
gtk+-x11-3.0.pc gtk+-win32-3.0.pc gtk+-quartz-3.0.pc gtk+-broadway-3.0.pc gtk+-wayland-3.0.pc: gtk+-3.0.pc
rm -f $@ && \
cp gtk+-3.0.pc $@
gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc
rm -f gdk-$(GDKTARGET)-3.0.pc && \
cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc
gdk-x11-3.0.pc gdk-win32-3.0.pc gdk-quartz-3.0.pc gdk-broadway-3.0.pc gdk-wayland-3.0.pc: gdk-3.0.pc
rm -f $@ && \
cp gdk-3.0.pc $@
gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc
gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \
cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc
gtk+-*-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc
rm -f $@ && \
cp gtk+-3.0-uninstalled.pc $@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc
pkgconfig_DATA = gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc
pkgconfig_DATA += ${GDK_BACKENDS:%=gtk+-%-3.0.pc}
pkgconfig_DATA += ${GDK_BACKENDS:%=gdk-%-3.0.pc}
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-3.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-3.0.pc \
gtk+-$(GDKTARGET)-3.0.pc \
gdk-$(GDKTARGET)-3.0.pc \
gail-3.0.pc \
gtk+-$(GDKTARGET)-3.0-uninstalled.pc \
gdk-$(GDKTARGET)-3.0-uninstalled.pc \
gail-3.0-uninstalled.pc \
DISTCLEANFILES = \
gtk+-unix-print-3.0.pc \
gtk+-3.0.pc \
gtk+-x11-3.0.pc \
gdk-3.0.pc \
gdk-x11-3.0.pc \
gail-3.0.pc \
gtk+-3.0-uninstalled.pc \
gail-3.0-uninstalled.pc \
config.lt
distclean-local:
@@ -96,8 +94,7 @@ distclean-local:
fi
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
$(AM_V_GEN) if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
@@ -109,20 +106,7 @@ ChangeLog:
echo A git checkout and git-log is required to generate this file >> $@); \
fi
## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc
DEFAULT_GDKTARGET=x11
install-data-hook:
(cd $(DESTDIR)$(pkgconfigdir) && \
test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \
rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \
(cd $(DESTDIR)$(pkgconfigdir) && \
rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \
rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc)
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc
dist-hook:
@@ -161,6 +145,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-man \
--disable-rebuilds \
--disable-maintainer-mode \
--enable-introspection
GITIGNOREFILES = \

View File

@@ -1,6 +1,6 @@
# GTK+ - The GIMP Toolkit
GTESTER = gtester # in $PATH for non-GLIB packages
GTESTER = gtester -k # in $PATH for non-GLIB packages
GTESTER_REPORT = gtester-report # in $PATH for non-GLIB packages
# initialize variables for unconditional += appending
@@ -17,9 +17,15 @@ XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \
1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 \
9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 \
9995 9996 9997 9998 9999
if USE_X11
SKIP_GDKTARGET = \
test "$(gdktarget)" != "x11" \
&& echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
false
else
SKIP_GDKTARGET = \
echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target."
endif
XVFB_START = \
${XVFB} -help 2>/dev/null 1>&2 \
&& XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \

1226
NEWS

File diff suppressed because it is too large Load Diff

439
README.in
View File

@@ -18,7 +18,7 @@ The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
http://www.gtk.org/mailing-lists.html
Installation
@@ -27,434 +27,27 @@ Installation
See the file 'INSTALL'
Release notes for 2.20
======================
* GtkStatusbar now has a message area (see gtk_status_bar_get_message_area)
which makes it easy to place additional widgets inside the statusbar
frame or to replace the label widgets. Previously, this was only possible
by accessing the innards of the statusbar widget directly. Applications
which are doing so may need some adjustments, since the addition of the
message area changed the internal widget hierarchy.
* GtkBuilder no longer sets the "name" property of widgets to the ID
attribute of the <object>. Use gtk_buildable_get_name() instead of
gtk_widget_get_name() to obtain the ID.
* GTK+ now includes introspection data, as a consequence, it gained a
dependency on gobject-introspection. It is possible to build without
introspection by passing --disable-introspection to configure.
Release notes for 2.18
======================
* gtk_tooltip_set_custom now accept a NULL custom_widget to unset the
old custom_widget. Custom_widget does not get destroyed when the
tooltip goes away.
* JPEG2000 support is no longer enabled by default. It must be
explicitly turned on, by passing --with-libjasper to configure.
* GDK has been reworked to implement 'client-side windows'. This offers
exciting new possibilities, such as transformed, offscreen rendering,
but it breaks some long-standing assumptions that applications may
have about GDK windows. Setting the environment variable
GDK_NATIVE_WINDOWS makes GDK create a native X11 window for each
GDK window, which might make problematic applications work better.
* GTK+ calls signal (SIGPIPE, SIG_IGN) during initialization, to ignore
SIGPIPE signals, since these are almost never wanted in graphical
applications. If you do need to handle SIGPIPE for some reason, reset
the handler after gtk_init(), but notice that other libraries (e.g.
libdbus or gvfs) might do similar things.
Release notes for 2.16
======================
* Password entries now display a caps-lock warning. This can be turned off
with the caps-lock-warning property.
* Various orientation-related functions have been deprecated in favour
of the new GtkOrientable interface: gtk_scale_button_get_orientation,
gtk_scale_button_set_orientation, gtk_toolbar_set_orientation.
* The action-proxy interaction has been changed. Widgets that operate as
proxies have to implement the GtkActivatable interface now. GtkActivatable
implementation are responsible for syncing their appearance with the
action and for activating the action. All GTK+ widgets that are commonly
used as proxies implement the GtkActivatable interface.
* The handling of keyboard shortcuts has been changed, to help with a
longstanding complaint about the way GTK+ handles multiple layouts. GTK+
now only uses keys from groups other than the current group if they are
not present in the current group.
Release notes for 2.14
======================
* gtkitemfactory.h is now completely deprecated.
As gtkactiongroup.h and gtkstock.h no longer include the gtkitemfactory.h
header, this might break application using gtk_item_factory_* symbols
without including gtkitemfactory.h - even though this behaviour has never
been supported in the first place.
* The GtkFileSystem semi-private interface has been removed.
The GTK+ filechooser implementation now uses GIO directly, which has
rendered external filesystem implementations unnecessary. Consequently,
the GtkFileSystem interface is no longer available, nor the filechooser
will load any GtkFileSystem implementation.
* GtkComboBox now renders the popdown button insensitive when
the model is empty. Applications which want to populate the list
only before displaying it can set gtk_combo_box_set_button_sensitivity
to GTK_SENSITIVITY_ON, so that the button is always sensitive or
GTK_SENSITIVITY_OFF to make it insensitive respectively.
* GtkAdjustment now enforces that values are restricted to the
range [lower, upper - page_size]. This has always been the documented
behaviour, and the recommended practice is to set page_size to 0
when using adjustments for simple scalar values, like in a slider
or spin button.
* gdk-pixbuf will use GIO for mime type detection if possible. For
this to work, shared-mime-info needs to be installed and XDG_DATA_DIRS
set accordingly at configure time. Otherwise, gdk-pixbuf falls
back to its built-in sniffing implementation.
Release notes for 2.12
======================
* gtk_about_dialog_get/set_name() were deprecated in favour of
gtk_about_dialog_get/set_program_name(), the GtkAboutDialog now uses the
"program-name" property instead of the conflicting "name" property.
* The gdk-pixbuf tiff loader now requires libtiff 3.6.0 or later.
* Support for Windows 9x/ME has officially been removed. It hasn't worked
since 2.6 anyway.
* The GtkTextBufferTargetInfo enumeration values have been changed from
G_MAXUINT-0, G_MAXUINT-1, G_MAXUINT-2, etc, to -1, -2, -3 to stay within
ANSI C limits.
* A change in the handling of _NET_WM_USER_TIME properties on toplevel
windows can cause deadlock problems with window managers that are using
GDK for drawing decorations. In particular, metacity <= 2.18.0 is affected
by this. The problem has been fixed in metacity 2.18.1.
* Semi-private GtkTextLayout api has changed: new GtkTextLayout method
invalidate_cursors(), and new functions gtk_text_layout_invalidate_cursors()
and gtk_text_layout_cursors_changed(), which should be used in place of
gtk_text_layout_invalidate() and gtk_text_layout_changed() if invalidation
is due to marks moved or changed selection; new GtkTextLineDisplay structure
member. Source compatibility is preserved; binary compatibility may break
only if GtkTextLineDisplay structure was created on stack or as a part
of another structure (in particular GnomeCanvas and its clones do not need
recompiling).
* Another new signal has been added to GtkNotebook. The new signal
is called create-window, so this name can no longer be used for signals
in objects derived from GtkNotebook.
* The gtk_notebook_set/get_group_id() functions were found to be insufficient
and have been deprecated in favour of gtk_notebook_set/get_group().
* The move-focus signal has been moved to GtkWidget, to unify the
various implementations of this signal in specific widgets. Great care
has been taken to make sure that all code using this signal continues
to work.
* An unused and hardly visible GtkFrame has been removed from the menu
widget hierarchy when GtkComboBox::appears-as-list style property is
set. Any RC file applying a different style to any widget below the
widget path "gtk-combobox-popup-window.GtkFrame" should take into
account that the frame no longer exists.
* The external print preview application used by GtkPrintOperationPreview
is now passed the print settings on the command line with the
--print-settings parameter pointing to a temp file containing the
settings. The preview application assumes ownership of the file and
should delete it once it does not need it anymore. The --print-settings
commandline option is understood by Evince 0.9.0 and newer. To use a
different print preview application, change the gtk-print-preview-command
setting in your gtkrc file, e.g. gtk-print-preview-command = "ggv %f"
* GtkMenuShell is now defined as an abstract type. It was already
documented as an abstract class, and there is little reason to
instantiate it.
* The GtkTooltips struct (this is the old tooltips API) is now considered
private. Code that used to access this struct, in particular the
tips_data_list field, will need to change. All of the old tooltips
API has been deprecated in favour of a new implementation and
API. This affects all of the gtk_tooltips_ functions, and functions
which take a GtkTooltips argument, such as gtk_tool_item_set_tooltip()
and gtk_menu_tool_button_set_arrow_tooltip().
* The memory management of the GtkRecentManager object has been changed,
as using the screen didn't guarantee that the singleton instance was
correctly destroyed. The screen-related functions have been deprecated,
and should not be used anymore; the GtkRecentManager instance returned by
the gtk_recent_manager_get_default() function is guaranteed to be valid
for the entire lifetime of an application.
* A number of interfaces that have been superseded by newer interfaces for
a long time have finally been deprecated. This includes
gtk_widget_ref/unref(), gtk_rc_style_ref/unref() and the old file selector.
* The various coordinate systems in use in GtkTreeView widgets have
been clarified in the documentation, and in the cause of doing so,
the functions gtk_tree_view_widget_to_tree_coords() and
gtk_tree_view_tree_to_widget_coords() have been deprecated in
favour of a new family of gtk_tree_view_convert_ functions.
* gtk_menu_item_remove_submenu() has been deprecated in favour of
gtk_menu_item_set_submenu (..., NULL).
* gtk_default_draw_check() has been fixed to really decrease the
indicator size by one pixel to ensure an odd size instead of
accidentially increasing it.
Consequently, gtk_cell_renderer_toggle_render() could be fixed to
not subtract 1 from the size passed to gtk_paint_option(), which
was just a workaround for above off-by-two for even sizes (theme
engines now get the real indicator size passed).
The default toggle size of GtkCheckMenuItem and GtkCellRendererToggle
has been changed to 13 to be consistent with GtkCheckButton.
The only visible change with default settings is that the indicator in
GtkCellRendererToggle has changed its size from 11 to 13 and is now
consistent with menus and toggle buttons.
* GTK+ has always required that gtk_init() (or a variant thereof) is
called before any other GTK+ function. Some applications call functions
like gtk_clipboard_get() to check if they need to call gtk_init(),
anyway. A change in GLib 2.14 has recently broken this unsupported
practise. It is worth pointing out that calling gtk_init() twice
does no harm.
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
Release notes for 3.2
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The accessible implementations for GTK+ widgets have been integrated
into libgtk itself, and the gail module does not exist anymore. This
change should not affect applications very much.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
Release notes for 3.0
=====================
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* GTK+ 3 is a major new version of GTK+, which is parallel installable
with GTK+ 2.x. For information about porting applications from GTK+ 2.x
to GTK+ 3, see the file:
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
docs/reference/gtk/html/migrating.html
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
Or online at:
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
http://library.gnome.org/devel/gtk/3.0/migrating.html
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
Bugs should be reported to the GNOME bug tracking system.
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
account for yourself.
In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
crash occured.
* Further information such as stack traces may be useful, but is not
necessary. If you do send a stack trace, and the error is an X error,
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
Patches should also be submitted to bugzilla.gnome.org. If the patch
fixes an existing bug, add the patch as an attachment to that bug
report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Patches should be in unified diff form. (The -up option to GNU diff.)
* Note that the library sonames in this release have been changed from
libgtk-3.0 and libgdk-3.0 to libgtk-3 and libgdk-3, to prevent the
library versions from going backwards, compared to the 2.90/91/99
releases. Applications will have to be recompiled.

View File

@@ -7,9 +7,18 @@ 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 .
dependencies: GDK-Pixbuf, Pango, atk, glib, gettext-runtime, libiconv at least.
See http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
For people compiling GTK+ with Visual C++ 2005 or later, it is
recommended that the same compiler is used for at least GDK-Pixbuf,
Pango, atk and glib so that crashes and errors caused by different CRTs
can be avoided. The VS 2008 project files and/or VS Makefiles are
either already available or will be available in the next stable release.
Unfortunately compiling with Microsoft's compilers versions 2003 or earlier
is not supported as compiling the latest stable GLib (which *is* required for
building this GTK+ release) requires features from newer compilers
and/or Platform SDKs
After installing the dependencies, there are two ways to build GTK+
for win32.
@@ -85,7 +94,7 @@ LDFLAGS="-L/devel/dist/${ARCH}/${LIBPNG}/lib \
LIBS=-lintl \
CFLAGS=-O2 \
./configure \
--with-gdktarget=win32 \
--enable-win32-backend \
--disable-gdiplus \
--with-included-immodules \
--without-libjasper \
@@ -147,11 +156,23 @@ 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.
There are also VS 2008/2010 solution and project files to build GTK+, which
are maintained by Chun-wei Fan. They should build GTK+ out of the box,
provided that the afore-mentioned dependencies are installed. They will
build GDK with the Win32 backend, GTK+ itself (with GAIL/a11y built in),
the GAIL-Util library and the gtk-demo program.
Please refer to the following GNOME Live! page for a more detailed ouline
on the process of building the GTK+ stack and its dependencies with Visual
C++:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
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
I (Tor) 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
@@ -182,3 +203,4 @@ sources. Unfortunately it seems that only Wacom tablets come with
support for the Wintab API nowadays.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>
--Updated by Fan, Chun-wei <fanc999@yahoo.com.tw>

View File

@@ -1,130 +1,34 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
ORIGDIR=`pwd`
cd $srcdir
PROJECT=Gtk+
TEST_TYPE=-d
FILE=gdk
olddir=`pwd`
cd "$srcdir"
DIE=0
mkdir -p m4
have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version |
head -1 |
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
2.*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 2.2 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
fi
(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have gtk-doc installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
DIE=1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
DIE=1
}
if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.11
ACLOCAL=aclocal-1.11
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.10
ACLOCAL=aclocal-1.10
GTKDOCIZE=`which gtkdocize`
if test -z $GTKDOCIZE; then
echo "*** No GTK-Doc found, please install it ***"
exit 1
else
echo
echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
gtkdocize || exit $?
fi
fi
if test "$DIE" -eq 1; then
exit 1
fi
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
# NOCONFIGURE is used by gnome-common; support both
if ! test -z "$AUTOGEN_SUBDIR_MODE"; then
NOCONFIGURE=1
fi
if test -z "$NOCONFIGURE"; then
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
fi
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
m4list="glib-2.0.m4 glib-gettext.m4"
for file in $m4list
do
if [ ! -f "$acdir/$file" ]; then
echo "WARNING: aclocal's directory is $acdir, but..."
echo " no file $acdir/$file"
echo " You may see fatal macro warnings below."
echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
echo " environment variable to \"-I /some/dir\", or install"
echo " $acdir/$file."
echo ""
fi
done
fi
rm -rf autom4te.cache
# README and INSTALL are required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch these here, they will be
# regenerated from their corresponding *.in files by ./configure anyway.
touch README INSTALL
gtkdocize || exit $?
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
libtoolize --force || exit $?
autoheader || exit $?
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
if test -z "$NOCONFIGURE"; then
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
echo
echo "Now type 'make' to compile $PROJECT."
AUTORECONF=`which autoreconf`
if test -z $AUTORECONF; then
echo "*** No autoreconf found, please install it ***"
exit 1
else
autoreconf --force --install --verbose || exit $?
fi
cd "$olddir"
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"

View File

@@ -1,4 +1,5 @@
include $(top_srcdir)/Makefile.decl
SUBDIRS = \
vs9
vs9 \
vs10

View File

@@ -0,0 +1,25 @@
include $(top_srcdir)/Makefile.decl
EXTRA_DIST += \
README.txt \
gtk+.sln \
gtk+.props \
gdk-win32.vcxproj \
gdk-win32.vcxproj.filters \
gdk.vcxproj \
gdk.vcxprojin \
gdk.vcxproj.filters \
gdk.vcxproj.filtersin \
gtk.vcxproj \
gtk.vcxprojin \
gtk.vcxproj.filters \
gtk.vcxproj.filtersin \
gtk3-demo.vcxproj \
gtk3-demo.vcxproj.filters \
libgail.vcxproj \
libgail.vcxproj.filters \
libgail.vcxprojin \
libgail.vcxproj.filtersin \
gailutil.vcxproj \
gailutil.vcxproj.filters \
install.vcxproj

View File

@@ -0,0 +1,87 @@
Please do not compile this package (GTK+) in paths that contain
spaces in them-as strange problems may occur during compilation or during
the use of the library.
A more detailed outline for instructions on building the GTK+ with Visual
C++ can be found in the following GNOME Live! page:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
This VS10 solution and the projects it includes are intented to be used
in a GTK+ source tree unpacked from a tarball. In a git checkout you
first need to use some Unix-like environment or manual work to expand
the files needed, like config.h.win32.in into config.h.win32 and the
.vcxprojin and .vcxproj.filtersin files here into corresponding actual
.vcxproj and vcxproj.filters files.
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
ATK and GLib. External dependencies are at least Cairo
(with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
gettext-runtime, fontconfig*, freetype*, expat*. See the
build/win32/vs10/README.txt file in glib for details where to unpack them.
It is recommended that one builds the dependencies with VS10 as far as
possible, especially those from and using the GTK+ stack (i.e. GLib,
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
to different CRTs can be kept at a minimum.
zlib, libpng, and Cairo do contain support for compiling under VS10
using VS project files and/or makefiles at this time of writing, For the
GTK+ stack, VS10 project files are either available under
$(srcroot)/build/vs10 in the case of GLib (stable/unstable), ATK
(stable/unstable) and GDK-Pixbuf (unstable), and should be in the next
unstable version of Pango. There is no known official VS10 build
support for fontconfig (along with freetype and expat) and
gettext-runtime, so please use the binaries from:
ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
Unzip the binaries obtained from ftp.gnome.org in <root>\vs10\<PlatformName>,
and build the following, if not already done so:
Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
.dll files: <root>\vs10\<PlatformName>\bin
.lib files: <root>\vs10\<PlatformName>\lib
.h files: <root>\vs10\<PlatformName>\include
The recommended build order for these dependencies:
(first unzip any dependent binaries downloaded from the ftp.gnome.org
as described in the README.txt file in the build/win32/vs10 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library]
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs10/README.txt of GLib)
-GLib **
-Cairo (inclusive of Cairo-GObject)
-ATK**
-Pango**
-GDK-Pixbuf**
(note the last 3 dependencies are not interdependent, so the last 3
dependencies can be built in any order)
The "install" project will copy build results and headers into their
appropriate location under <root>\vs10\<PlatformName>. For instance,
built DLLs go into <root>\vs10\<PlatformName>\bin, built LIBs into
<root>\vs10\<PlatformName>\lib and GTK+ headers into
<root>\vs10\<PlatformName>\include\gtk-3.0. This is then from where
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building
GIMP or those who need complex script support via fontconfig. They
are referred to by components in Cairo and Pango mainly.
Decide whether you need fontconfig support prior to building Cairo
and Pango.
**:Put the sources of the packages marked with ** in <root>\<package-
source-tree>, and build with VS10 from there.
--Tor Lillqvist <tml@iki.fi>
--Updated by Chun-wei Fan <fanc999@yahoo.com.tw>

View File

@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}</ProjectGuid>
<RootNamespace>gailutil</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>..\..\..\libgail-util\gailutil.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\libgail-util\gailmisc.c" />
<ClCompile Include="..\..\..\libgail-util\gailtextutil.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\libgail-util\gailmisc.c">
<Filter>Sources</Filter>
</ClCompile>
<ClCompile Include="..\..\..\libgail-util\gailtextutil.c">
<Filter>Sources</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,140 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}</ProjectGuid>
<RootNamespace>gdkwin32</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);INSIDE_GDK_WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gdk\win32\gdkcursor-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-wintab.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdevicemanager-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdisplay-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdnd-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkevents-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkgeometry-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkglobals-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkinput.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkkeys-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkmain-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkproperty-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkscreen-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkselection-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdktestutils-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkvisual-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkdisplaymanager-win32.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkwin32id.c" />
<ClCompile Include="..\..\..\gdk\win32\gdkwindow-win32.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\gdk\win32\gdkcursor-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevice-wintab.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdevicemanager-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdisplay-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdnd-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkevents-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkgeometry-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkglobals-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkinput.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkkeys-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkmain-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkproperty-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkscreen-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkselection-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdktestutils-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkvisual-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkdisplaymanager-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkwin32id.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\gdk\win32\gdkwindow-win32.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc"><Filter>Resource Files</Filter></ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "libgdk.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\gdk\gdkkeynames.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gdk.symbols">
<Filter>Resource Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,191 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}</ProjectGuid>
<RootNamespace>gdk</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GdkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gdk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gdk.symbols">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)gdk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating gdk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkGenerateGdkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)gdk.def;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gdk\win32\rc\gdk.rc" />
</ItemGroup>
<ItemGroup>
#include "libgdk.vs10.sourcefiles"
<ClCompile Include="..\..\..\gdk\gdkkeynames.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk-win32.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073fa}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

671
build/win32/vs10/gtk+.props Normal file
View File

@@ -0,0 +1,671 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<GlibEtcInstallRoot>..\..\..\..\..\vs10\$(Platform)</GlibEtcInstallRoot>
<CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)</DefDir>
<GtkApiVersion>3.0</GtkApiVersion>
<GtkBinaryVersion>2.10.0</GtkBinaryVersion>
<GtkDummyPrefix>\"/dummy\"</GtkDummyPrefix>
<GtkPrefixDefine>GTK_PREFIX="\"$(GtkDummyPrefix)\""</GtkPrefixDefine>
<GdkDefines>GDK_COMPILATION;G_LOG_DOMAIN="\"Gdk\""</GdkDefines>
<GtkIncludedImmodulesDefines>INCLUDE_IM_am_et;INCLUDE_IM_cedilla;INCLUDE_IM_cyrillic_translit;INCLUDE_IM_ime;INCLUDE_IM_inuktitut;INCLUDE_IM_ipa;INCLUDE_IM_multipress;INCLUDE_IM_thai;INCLUDE_IM_ti_er;INCLUDE_IM_ti_et;INCLUDE_IM_viqr</GtkIncludedImmodulesDefines>
<GtkDefines>GTK_COMPILATION;G_LOG_DOMAIN="\"Gtk\"";GTK_HOST="\"i686-pc-vs10\"";GTK_PRINT_BACKENDS="\"file\"";GTK_PRINT_PREVIEW_COMMAND="\"undefined-gtk-print-preview-command\"";$(GtkIncludedImmodulesDefines);GTK_LIBDIR="\"$(GtkDummyPrefix)/lib\"";GTK_DATADIR="\"$(GtkDummyPrefix)/share\"";GTK_DATA_PREFIX="\"$(GtkDummyPrefix)\"";GTK_SYSCONFDIR="\"$(GtkDummyPrefix)/etc\"";MULTIPRESS_CONFDIR="\"$(GtkDummyPrefix)/etc/gtk-$(GtkApiVersion)\"";MULTIPRESS_LOCALEDIR="\"$(GtkDummyPrefix)/share/locale\"";GTK_VERSION="\"$(GtkVersion)/etc\"";GTK_BINARY_VERSION="\"$(GtkBinaryVersion)/etc\"";GDK_DISABLE_DEPRECATED</GtkDefines>
<GtkDoInstall>
echo on
mkdir $(CopyDir)\bin
copy $(Configuration)\$(Platform)\bin\*.dll $(CopyDir)\bin
mkdir $(CopyDir)\bin\gtk3-demo
copy $(Configuration)\$(Platform)\bin\*.exe $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.c $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.h $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.ui $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.jpg $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.png $(CopyDir)\bin\gtk3-demo
copy ..\..\..\demos\gtk-demo\*.gif $(CopyDir)\bin\gtk3-demo
mkdir $(CopyDir)\lib
copy $(Configuration)\$(Platform)\bin\*-$(GtkApiVersion).lib $(CopyDir)\lib
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdk.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkapplaunchcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcairo.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcolor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkcursor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdevice.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdevicemanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdisplay.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdisplaymanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkdnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkenumtypes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkevents.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkkeys.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkkeysyms.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkmain.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkpango.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkpixbuf.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkproperty.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkrectangle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkrgba.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkscreen.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdktestutils.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkthreads.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdktypes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkvisual.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\win32\gdkwin32.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
copy ..\..\..\gdk\gdkwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32display.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32keys.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32screen.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
copy ..\..\..\gdk\win32\gdkwin32window.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gdk\win32
mkdir $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtk.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaboutdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelgroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelgroupprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccellabel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccelmap.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaccessible.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkactiongroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkactivatable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkadjustment.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkalignment.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkappchooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkapplication.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkarrow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkaspectframe.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkassistant.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbin.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbindings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkborder.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbuildable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbuilder.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcalendar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellarea.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellareabox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellareacontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcelleditable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcelllayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendereraccel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderercombo.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererpixbuf.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererprogress.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererspin.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrendererspinner.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderertext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellrenderertoggle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcellview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcheckbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcheckmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkclipboard.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorsel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcolorseldialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcombobox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcomboboxtext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcontainer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcssprovider.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdebug.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdnd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkdrawingarea.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkeditable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentry.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentrybuffer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkentrycompletion.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkenums.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkeventbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkexpander.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilechooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfilefilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfixed.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfontbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkfontsel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkframe.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkgradient.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkgrid.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhandlebox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkhsv.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkiconfactory.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkicontheme.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkiconview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimage.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimagemenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimcontextsimple.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimmodule.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkimmulticontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkinfobar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkinvisible.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklabel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklinkbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkliststore.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtklockbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmain.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenu.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenubar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenushell.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmenutoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmessagedialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmisc.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmodules.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkmountoperation.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtknotebook.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtknumerableicon.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkoffscreenwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkorientable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkoverlay.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpagesetup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkpapersize.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkplug.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintcontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintoperation.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintoperationpreview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprintsettings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprivate.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkprogressbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradioaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiobutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiomenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkradiotoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrange.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrc.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooser.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooserdialog.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchoosermenu.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentfilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkrecentmanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscalebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrollable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkscrolledwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparatormenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkseparatortoolitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksettings.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkshow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksizegroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksizerequest.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksocket.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkspinbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkspinner.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstatusbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstatusicon.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstock.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyle.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstylecontext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyleproperties.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkstyleprovider.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkswitch.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtksymboliccolor.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktearoffmenuitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktestutils.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextattributes.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextbuffer.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextbufferrichtext.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextchild.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextdisplay.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextiter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextlayout.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextmark.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktexttag.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktexttagtable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktextview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkthemingengine.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoggleaction.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktogglebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoggletoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolbutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolitem.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolitemgroup.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolpalette.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktoolshell.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktooltip.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreednd.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodel.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodelfilter.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreemodelsort.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeselection.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreesortable.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreestore.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeview.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktreeviewcolumn.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtktypebuiltins.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkuimanager.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvbbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvbox.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkversion.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkviewport.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvolumebutton.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvpaned.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvscale.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvscrollbar.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkvseparator.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwidget.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwidgetpath.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkwindow.h $(CopyDir)\include\gtk-$(GtkApiVersion)\gtk
mkdir $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
copy ..\..\..\libgail-util\gail-util.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
copy ..\..\..\libgail-util\gailmisc.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
copy ..\..\..\libgail-util\gailtextutil.h $(CopyDir)\include\gail-$(GtkApiVersion)\libgail-util
copy ..\..\..\gdk\gdkconfig.h $(CopyDir)\include\gtk-3.0\gdk
copy $(Configuration)\$(Platform)\bin\*-$(GtkApiVersion).lib $(CopyDir)\lib
copy $(Configuration)\$(Platform)\bin\gailutil.lib $(CopyDir)\lib
mkdir $(CopyDir)\share\glib-2.0\schemas
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(CopyDir)\share\glib-2.0\schemas
echo "Compiling gsettings XML File(s)..."
$(CopyDir)\bin\glib-compile-schemas.exe $(CopyDir)\share\glib-2.0\schemas
</GtkDoInstall>
<GtkGenerateGdkDef>echo EXPORTS &gt;"$(DefDir)\gdk.def" &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DALL_FILES -DG_GNUC_CONST= ..\..\..\gdk\gdk.symbols &gt;&gt;"$(DefDir)\gdk.def"</GtkGenerateGdkDef>
<GtkGenerateGtkDef>echo EXPORTS &gt;"$(DefDir)\gtk.def" &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols &gt;&gt;"$(DefDir)\gtk.def"</GtkGenerateGtkDef>
<GtkLibtoolCompatibleDllPrefix>lib</GtkLibtoolCompatibleDllPrefix>
<GtkLibtoolCompatibleDllSuffix>-$(GtkApiVersion)-0</GtkLibtoolCompatibleDllSuffix>
<GtkSeparateVS10DllPrefix />
<GtkSeparateVS10DllSuffix>-3-vs10</GtkSeparateVS10DllSuffix>
<GtkDllPrefix>$(GtkSeparateVS10DllPrefix)</GtkDllPrefix>
<GtkDllSuffix>$(GtkSeparateVS10DllSuffix)</GtkDllSuffix>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>gtk+props</_PropertySheetDisplayName>
<OutDir>$(SolutionDir)$(Configuration)\$(PlatformName)\bin\</OutDir>
<IntDir>$(SolutionDir)$(Configuration)\$(PlatformName)\obj\$(ProjectName)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
</ClCompile>
<Link>
<AdditionalDependencies>pangocairo-1.0.lib;cairo.lib;cairo-gobject.lib;pango-1.0.lib;gdk_pixbuf-2.0.lib;gio-2.0.lib;gmodule-2.0.lib;gobject-2.0.lib;glib-2.0.lib;intl.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
<PreBuildEvent>
<Command>
if exist ..\..\..\config.h goto DONE_CONFIG_H
copy ..\..\..\config.h.win32 ..\..\..\config.h
:DONE_CONFIG_H
copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="GlibEtcInstallRoot">
<Value>$(GlibEtcInstallRoot)</Value>
</BuildMacro>
<BuildMacro Include="CopyDir">
<Value>$(CopyDir)</Value>
</BuildMacro>
<BuildMacro Include="DefDir">
<Value>$(DefDir)</Value>
</BuildMacro>
<BuildMacro Include="GtkApiVersion">
<Value>$(GtkApiVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkBinaryVersion">
<Value>$(GtkBinaryVersion)</Value>
</BuildMacro>
<BuildMacro Include="GtkDummyPrefix">
<Value>$(GtkDummyPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkPrefixDefine">
<Value>$(GtkPrefixDefine)</Value>
</BuildMacro>
<BuildMacro Include="GdkDefines">
<Value>$(GdkDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkIncludedImmodulesDefines">
<Value>$(GtkIncludedImmodulesDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkDefines">
<Value>$(GtkDefines)</Value>
</BuildMacro>
<BuildMacro Include="GtkDoInstall">
<Value>$(GtkDoInstall)</Value>
</BuildMacro>
<BuildMacro Include="GtkGenerateGdkDef">
<Value>$(GtkGenerateGdkDef)</Value>
</BuildMacro>
<BuildMacro Include="GtkGenerateGtkDef">
<Value>$(GtkGenerateGtkDef)</Value>
</BuildMacro>
<BuildMacro Include="GtkLibtoolCompatibleDllPrefix">
<Value>$(GtkLibtoolCompatibleDllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkLibtoolCompatibleDllSuffix">
<Value>$(GtkLibtoolCompatibleDllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="GtkSeparateVS10DllPrefix">
<Value>$(GtkSeparateVS10DllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkSeparateVS10DllSuffix">
<Value>$(GtkSeparateVS10DllSuffix)</Value>
</BuildMacro>
<BuildMacro Include="GtkDllPrefix">
<Value>$(GtkDllPrefix)</Value>
</BuildMacro>
<BuildMacro Include="GtkDllSuffix">
<Value>$(GtkDllSuffix)</Value>
</BuildMacro>
</ItemGroup>
</Project>

85
build/win32/vs10/gtk+.sln Normal file
View File

@@ -0,0 +1,85 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-win32", "gdk-win32.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgail", "libgail.vcxproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcxproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.ActiveCfg = Debug|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.Build.0 = Debug|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.ActiveCfg = Debug|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.Build.0 = Debug|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.ActiveCfg = Release|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.Build.0 = Release|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.ActiveCfg = Release|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.Build.0 = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.ActiveCfg = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|Win32.Build.0 = Debug|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.ActiveCfg = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Debug|x64.Build.0 = Debug|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.ActiveCfg = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc"><Filter>Resource Files</Filter></ResourceCompile>
</ItemGroup>
<ItemGroup>
#include "libgtk.vs10.sourcefiles.filters"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imam-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcedilla.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imime.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\iminuktitut.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imipa.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\immultipress.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imthai.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-er.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imti-et.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\imviqr.c"><Filter>Source Files</Filter></ClCompile>
<ClCompile Include="..\..\..\modules\input\thai-charprop.c"><Filter>Source Files</Filter></ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gtk.symbols">
<Filter>Resource Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}</ProjectGuid>
<RootNamespace>gtk</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>atk-1.0.lib;pangowin32-1.0.lib;imm32.lib;winspool.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll</OutputFile>
<ModuleDefinitionFile>$(IntDir)gtk.def</ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<ImportLibrary>$(TargetDir)$(ProjectName)-win32-$(GtkApiVersion).lib</ImportLibrary>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<CustomBuild Include="..\..\..\gdk\gtk.symbols">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)gtk.def;%(Outputs)</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Generating gtk.def</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GtkGenerateGtkDef)</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)gtk.def;%(Outputs)</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\gtk\gtk-win32.rc" />
</ItemGroup>
<ItemGroup>
#include "libgtk.vs10.sourcefiles"
<ClCompile Include="..\..\..\modules\input\gtkimcontextime.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextmultipress.c" />
<ClCompile Include="..\..\..\modules\input\gtkimcontextthai.c" />
<ClCompile Include="..\..\..\modules\input\imam-et.c" />
<ClCompile Include="..\..\..\modules\input\imcedilla.c" />
<ClCompile Include="..\..\..\modules\input\imcyrillic-translit.c" />
<ClCompile Include="..\..\..\modules\input\imime.c" />
<ClCompile Include="..\..\..\modules\input\iminuktitut.c" />
<ClCompile Include="..\..\..\modules\input\imipa.c" />
<ClCompile Include="..\..\..\modules\input\immultipress.c" />
<ClCompile Include="..\..\..\modules\input\imthai.c" />
<ClCompile Include="..\..\..\modules\input\imti-er.c" />
<ClCompile Include="..\..\..\modules\input\imti-et.c" />
<ClCompile Include="..\..\..\modules\input\imviqr.c" />
<ClCompile Include="..\..\..\modules\input\thai-charprop.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="libgail.vcxproj">
<Project>{f756b0db-40a1-4e9f-be1f-8f02cb86ea46}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}</ProjectGuid>
<RootNamespace>gtkdemo</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\gdk;..\..\..\gtk;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>$(GtkPrefixDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<RandomizedBaseAddress>false</RandomizedBaseAddress>
<DataExecutionPrevention>
</DataExecutionPrevention>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\gtk-demo\appwindow.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\assistant.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\builder.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\button_box.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\changedisplay.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\clipboard.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\colorsel.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\combobox.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\dialog.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\drawingarea.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\editable_cells.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\entry_buffer.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\iconview_edit.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\images.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\infobar.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\links.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\list_store.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\main.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\menus.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\overlay.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\panes.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\pickers.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\pixbufs.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\printing.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\rotated_text.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\search_entry.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\sizegroup.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\spinner.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\stock_browser.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\textscroll.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\textview.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\toolpalette.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\tree_store.c" />
<ClCompile Include="..\..\..\demos\gtk-demo\ui_manager.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\demos\gtk-demo\appwindow.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\assistant.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\builder.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\button_box.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\changedisplay.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\clipboard.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\colorsel.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\combobox.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\dialog.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\drawingarea.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\editable_cells.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\entry_buffer.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\entry_completion.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\expander.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\hypertext.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\iconview.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\iconview_edit.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\images.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\infobar.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\links.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\list_store.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\menus.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\offscreen_window2.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\overlay.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\panes.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\pickers.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\pixbufs.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\printing.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\rotated_text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\search_entry.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\sizegroup.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\spinner.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\stock_browser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\textscroll.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\textview.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\toolpalette.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\tree_store.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\demos\gtk-demo\ui_manager.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}</ProjectGuid>
<RootNamespace>install</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(GlibEtcInstallRoot)\</OutDir>
<ExtensionsToDeleteOnClean Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>$(GtkDoInstall)</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectReference Include="gdk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f7}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk-demo.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073fc}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gtk.vcxproj">
<Project>{fc5aadb5-95cd-4bf0-ba8b-0c16fe7073f5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="gailutil.vcxproj">
<Project>{29e3e814-1ba3-4ad7-a3a7-3669cb80a942}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Sources">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Headers">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
#include "libgail.vs10.sourcefiles.filters"
</ItemGroup>
</Project>

View File

@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}</ProjectGuid>
<RootNamespace>libgail</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="gtk+.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;G_ENABLE_DEBUG;$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PreprocessorDefinitions>$(GtkDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
#include "libgail.vs10.sourcefiles"
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -9,5 +9,8 @@ EXTRA_DIST += \
gdk.vcprojin \
gtk.vcproj \
gtk.vcprojin \
gtk-demo.vcproj \
gtk3-demo.vcproj \
libgail.vcproj \
libgail.vcprojin \
gailutil.vcproj \
install.vcproj

View File

@@ -1,4 +1,11 @@
Note that all this is rather experimental.
Please do not compile this package (GTK+) in paths that contain
spaces in them-as strange problems may occur during compilation or during
the use of the library.
A more detailed outline for instructions on building the GTK+ with Visual
C++ can be found in the following GNOME Live! page:
https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack
This VS9 solution and the projects it includes are intented to be used
in a GTK+ source tree unpacked from a tarball. In a git checkout you
@@ -6,17 +13,74 @@ first need to use some Unix-like environment or manual work to expand
the files needed, like config.h.win32.in into config.h.win32 and the
.vcprojin files here into corresponding actual .vcproj files.
You will need the parts from below in the GTK+ stack: pango, atk and
glib. External dependencies are at least zlib, libpng, proxy-libintl,
fontconfig, freetype, expat. See the corresponding README.txt file in
glib for details where to unpack them.
You will need the parts from below in the GTK+ stack: GDK-Pixbuf, Pango,
ATK and GLib. External dependencies are at least Cairo
(with Cairo-GObject support, meaning Cairo 1.10.x or later), zlib, libpng,
gettext-runtime, fontconfig*, freetype*, expat*. See the
build/win32/vs9/README.txt file in glib for details where to unpack them.
It is recommended that one builds the dependencies with VS9 as far as
possible, especially those from and using the GTK+ stack (i.e. GLib,
Cairo, ATK, Pango, GDK-Pixbuf), so that crashes caused by mixing calls
to different CRTs can be kept at a minimum.
zlib, libpng, and Cairo do contain support for compiling under VS9
using VS project files and/or makefiles at this time of writing, For the
GTK+ stack, VS9 project files are either available under
$(srcroot)/build/vs9 in the case of GLib (stable/unstable), ATK
(stable/unstable) and GDK-Pixbuf (unstable), and should be in the next
unstable version of Pango. There is no known official VS9 build
support for fontconfig (along with freetype and expat) and
gettext-runtime, so please use the binaries from:
ftp://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32 bit)
ftp://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64 bit)
Unzip the binaries obtained from ftp.gnome.org in <root>\vs9\<PlatformName>,
and build the following, if not already done so:
Note: put the resulting zlib, libpng, pcre and Cairo files as follows:
.dll files: <root>\vs9\<PlatformName>\bin
.lib files: <root>\vs9\<PlatformName>\lib
.h files: <root>\vs9\<PlatformName>\include
The recommended build order for these dependencies:
(first unzip any dependent binaries downloaded from the ftp.gnome.org
as described in the README.txt file in the build/win32/vs9 folder)
-zlib
-libpng
-(for GDK-Pixbuf, if not using GDI+) IJG JPEG
-(for GDK-Pixbuf, if not using GDI+) libtiff
[libtiff requires zlib and IJG JPEG]
-(for GDK-Pixbuf, if not using GDI+) jasper [jpeg-2000 library])
-(optional for GLib) PCRE (version 8.12 or later, use of CMake to
build PCRE is recommended-see build/win32/vs9/README.txt of GLib)
-GLib **
-Cairo (inclusive of Cairo-GObject)
-ATK**
-Pango**
-GDK-Pixbuf**
(note the last 3 dependencies are not interdependent, so the last 3
dependencies can be built in any order)
The "install" project will copy build results and headers into their
appropriate location under <root>\vs9\<PlatformName>. For instance,
built DLLs go into <root>\vs9\<PlatformName>\bin, built LIBs into
<root>\vs9\<PlatformName>\lib and GTK+ headers into
<root>\vs9\<PlatformName>\include\gtk-2.0. This is then from where
<root>\vs9\<PlatformName>\include\gtk-3.0. This is then from where
project files higher in the stack are supposed to look for them, not
from a specific GLib source tree.
*About the dependencies marked with *: These dependencies are optional
as those are not compulsory components for building and running GTK+
itself, but note that they are needed for people running and building
GIMP or those who need complex script support via fontconfig. They
are referred to by components in Cairo and Pango mainly.
Decide whether you need fontconfig support prior to building Cairo
and Pango.
**:Put the sources of the packages marked with ** in <root>\<package-
source-tree>, and build with VS9 from there.
--Tor Lillqvist <tml@iki.fi>
--Updated by Chun-wei Fan <fanc999@yahoo.com.tw>

View File

@@ -0,0 +1,183 @@
<?xml version="1.0" encoding="big5"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gailutil"
ProjectGUID="{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
RootNamespace="gailutil"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
AdditionalDependencies="atk-1.0.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
GenerateDebugInformation="true"
ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"
ImportLibrary="$(TargetDir)$(ProjectName).lib"
SubSystem="2"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="atk-1.0.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"
GenerateDebugInformation="true"
SubSystem="2"
ImportLibrary="$(TargetDir)$(ProjectName).lib"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
AdditionalDependencies="atk-1.0.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
GenerateDebugInformation="true"
ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"
ImportLibrary="$(TargetDir)$(ProjectName).lib"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="GTK_DISABLE_DEPRECATED;GDK_DISABLE_DEPRECATED"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="atk-1.0.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="..\..\..\libgail-util\gailutil.def"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
ImportLibrary="$(TargetDir)$(ProjectName).lib"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Sources"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\libgail-util\gailmisc.c" />
<File RelativePath="..\..\..\libgail-util\gailtextutil.c" />
</Filter>
<Filter
Name="Headers"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -31,8 +31,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -52,7 +52,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -72,8 +72,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines);INSIDE_GDK_WIN32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -93,7 +93,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines);INSIDE_GDK_WIN32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -122,29 +122,24 @@
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\gdk\win32\gdkapplaunchcontext-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkcolor-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkcursor-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdevice-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdevice-wintab.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdevicemanager-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdisplay-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdnd-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdrawable-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkevents-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkfont-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkgc-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkgeometry-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkglobals-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkim-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkinput-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkinput.c" />
<File RelativePath="..\..\..\gdk\win32\gdkkeys-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkmain-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkpixmap-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkproperty-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkscreen-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkselection-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkspawn-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdktestutils-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkvisual-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkdisplaymanager-win32.c" />
<File RelativePath="..\..\..\gdk\win32\gdkwin32id.c" />
<File RelativePath="..\..\..\gdk\win32\gdkwindow-win32.c" />
</Filter>

View File

@@ -31,8 +31,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -42,7 +42,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
AdditionalDependencies="imm32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
@@ -63,7 +63,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -72,7 +72,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
AdditionalDependencies="imm32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
@@ -96,8 +96,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GdkDefines)"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GdkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -107,7 +107,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
AdditionalDependencies="imm32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
@@ -128,7 +128,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GdkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -137,7 +137,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib imm32.lib"
AdditionalDependencies="imm32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gdk.def"
@@ -216,6 +216,7 @@
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "libgdk.sourcefiles"
<File RelativePath="..\..\..\gdk\gdkkeynames.c" />
</Filter>
</Files>
</VisualStudioProject>

View File

@@ -10,9 +10,18 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46} = {F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-demo", "gtk-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk3-demo", "gtk3-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgail", "libgail.vcproj", "{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gailutil", "gailutil.vcproj", "{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}"
ProjectSection(ProjectDependencies) = postProject
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
@@ -23,6 +32,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj",
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942} = {29E3E814-1BA3-4AD7-A3A7-3669CB80A942}
EndProjectSection
EndProject
Global
@@ -73,6 +83,22 @@ Global
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|Win32.Build.0 = Release|Win32
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.ActiveCfg = Release|x64
{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}.Release|x64.Build.0 = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.ActiveCfg = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|Win32.Build.0 = Debug|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.ActiveCfg = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Debug|x64.Build.0 = Debug|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.ActiveCfg = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|Win32.Build.0 = Release|Win32
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.ActiveCfg = Release|x64
{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}.Release|x64.Build.0 = Release|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.ActiveCfg = Debug|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|Win32.Build.0 = Debug|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.ActiveCfg = Debug|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Debug|x64.Build.0 = Debug|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.ActiveCfg = Release|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|Win32.Build.0 = Release|Win32
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.ActiveCfg = Release|x64
{29E3E814-1BA3-4AD7-A3A7-3669CB80A942}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -4,17 +4,17 @@
Version="8.00"
Name="gtk+props"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\bin"
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj"
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\$(PlatformName)\obj\$(ProjectName)\"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0"
AdditionalIncludeDirectories="..\..\..;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\include;$(GlibEtcInstallRoot)\include\cairo;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\gdk-pixbuf-2.0"
PreprocessorDefinitions="HAVE_CONFIG_H;G_DISABLE_DEPRECATED;G_DISABLE_SINGLE_INCLUDES;ATK_DISABLE_SINGLE_INCLUDES;GDK_PIXBUF_DISABLE_SINGLE_INCLUDES;GTK_DISABLE_SINGLE_INCLUDES"
ForcedIncludeFiles="msvc_recommended_pragmas.h"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="gdk_pixbuf-2.0.lib gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
AdditionalDependencies="gdk_pixbuf-2.0.lib pangocairo-1.0.lib pango-1.0.lib cairo-gobject.lib cairo.lib gio-2.0.lib gmodule-2.0.lib gobject-2.0.lib glib-2.0.lib intl.lib"
AdditionalLibraryDirectories="$(GlibEtcInstallRoot)\lib"
/>
<Tool
@@ -24,9 +24,7 @@ if exist ..\..\..\config.h goto DONE_CONFIG_H&#x0D;&#x0A;
copy ..\..\..\config.h.win32 ..\..\..\config.h&#x0D;&#x0A;
:DONE_CONFIG_H&#x0D;&#x0A;
if exist ..\..\..\gdk\gdkconfig.h goto DONE_GDKCONFIG_H&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h&#x0D;&#x0A;
:DONE_GDKCONFIG_H&#x0D;&#x0A;
"
/>
<UserMacro
@@ -87,10 +85,8 @@ copy ..\..\..\gdk\gdkdevicemanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&
copy ..\..\..\gdk\gdkdisplay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdisplaymanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkdrawable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkenumtypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkevents.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkinput.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeys.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkkeysyms.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkmain.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
@@ -102,7 +98,6 @@ copy ..\..\..\gdk\gdkrectangle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D
copy ..\..\..\gdk\gdkrgba.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkscreen.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkselection.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkspawn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkthreads.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdktypes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
@@ -110,6 +105,15 @@ copy ..\..\..\gdk\gdkvisual.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#
copy ..\..\..\gdk\win32\gdkwin32.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
copy ..\..\..\gdk\gdkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32cursor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32display.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32displaymanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32dnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32keys.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32screen.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
copy ..\..\..\gdk\win32\gdkwin32window.h $(OutDir)\include\gtk-$(GtkApiVersion)\gdk\win32&#x0D;&#x0A;
mkdir $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtk.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaboutdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -123,6 +127,10 @@ copy ..\..\..\gtk\gtkactiongroup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x
copy ..\..\..\gtk\gtkactivatable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkadjustment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkalignment.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooser.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkappchooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkapplication.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkarrow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkaspectframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -131,10 +139,14 @@ copy ..\..\..\gtk\gtkbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0
copy ..\..\..\gtk\gtkbin.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbindings.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkborder.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuildable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbuilder.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcalendar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellarea.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareabox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellareacontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelleditable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcelllayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcellrenderer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -156,6 +168,7 @@ copy ..\..\..\gtk\gtkcolorseldialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk
copy ..\..\..\gtk\gtkcombobox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcomboboxtext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcontainer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkcssprovider.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdebug.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdialog.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkdnd.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -176,12 +189,12 @@ copy ..\..\..\gtk\gtkfixed.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x
copy ..\..\..\gtk\gtkfontbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkfontsel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkframe.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgradient.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkgrid.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhandlebox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkhseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -201,6 +214,7 @@ copy ..\..\..\gtk\gtklabel.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x
copy ..\..\..\gtk\gtklayout.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklinkbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkliststore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtklockbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmain.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmenubar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -212,8 +226,10 @@ copy ..\..\..\gtk\gtkmisc.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0
copy ..\..\..\gtk\gtkmodules.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkmountoperation.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtknotebook.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtknumerableicon.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoffscreenwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkorientable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkoverlay.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpagesetup.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkpapersize.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -237,7 +253,6 @@ copy ..\..\..\gtk\gtkrecentchoosermenu.h $(OutDir)\include\gtk-$(GtkApiVersion)\
copy ..\..\..\gtk\gtkrecentchooserwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentfilter.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkrecentmanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscalebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkscrollable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -258,9 +273,15 @@ copy ..\..\..\gtk\gtkstatusbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D
copy ..\..\..\gtk\gtkstatusicon.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstock.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyle.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstylecontext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleproperties.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkstyleprovider.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkswitch.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtksymboliccolor.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktearoffmenuitem.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktestutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextattributes.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbuffer.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextbufferrichtext.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextchild.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -271,6 +292,7 @@ copy ..\..\..\gtk\gtktextmark.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;
copy ..\..\..\gtk\gtktexttag.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktexttagtable.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktextview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkthemingengine.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggleaction.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktogglebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktoggletoolbutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -291,7 +313,6 @@ copy ..\..\..\gtk\gtktreestore.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D
copy ..\..\..\gtk\gtktreeview.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktreeviewcolumn.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypebuiltins.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtktypeutils.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkuimanager.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvbbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvbox.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
@@ -299,17 +320,27 @@ copy ..\..\..\gtk\gtkversion.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&
copy ..\..\..\gtk\gtkviewport.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvolumebutton.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvpaned.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvruler.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvscale.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvscrollbar.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkvseparator.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidget.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwidgetpath.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
copy ..\..\..\gtk\gtkwindow.h $(OutDir)\include\gtk-$(GtkApiVersion)\gtk&#x0D;&#x0A;
mkdir $(OutDir)\lib\gtk-$(GtkApiVersion)\include&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\lib\gtk-$(GtkApiVersion)\include&#x0D;&#x0A;
mkdir $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gail-util.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gailmisc.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\libgail-util\gailtextutil.h $(OutDir)\include\gail-$(GtkApiVersion)\libgail-util&#x0D;&#x0A;
copy ..\..\..\gdk\gdkconfig.h $(OutDir)\include\gtk-3.0\gdk&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\lib&#x0D;&#x0A;
copy $(ConfigurationName)\$(PlatformName)\bin\gailutil.lib $(OutDir)\lib&#x0D;&#x0A;
mkdir $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
copy ..\..\..\gtk\org.gtk.Settings.FileChooser.gschema.xml $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
echo &quot;Compiling gsettings XML File(s)...&quot;&#x0D;&#x0A;
$(OutDir)\bin\glib-compile-schemas.exe $(OutDir)\share\glib-2.0\schemas&#x0D;&#x0A;
"
/>
<UserMacro
@@ -318,7 +349,7 @@ copy $(ConfigurationName)\$(PlatformName)\bin\*-$(GtkApiVersion).lib $(OutDir)\l
/>
<UserMacro
Name="GtkGenerateGtkDef"
Value="echo EXPORTS &gt;&quot;$(IntDir)\gtk.def&quot; &amp;&amp; cl /EP -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols &gt;&gt;&quot;$(IntDir)\gtk.def&quot;"
Value="echo EXPORTS &gt;&quot;$(IntDir)\gtk.def&quot; &amp;&amp; cl /EP -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_PRINTF=;G_GNUC_PRINTF ..\..\..\gtk\gtk.symbols &gt;&gt;&quot;$(IntDir)\gtk.def&quot;"
/>
<UserMacro
Name="GtkLibtoolCompatibleDllPrefix"

View File

@@ -31,8 +31,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
@@ -42,7 +42,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
@@ -63,7 +63,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -72,7 +72,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
@@ -96,8 +96,8 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -107,7 +107,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"
@@ -128,7 +128,7 @@
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gdk\win32"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gdk\win32"
PreprocessorDefinitions="$(GtkDefines)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
@@ -137,7 +137,7 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib atk-1.0.lib pango-1.0.lib pangocairo-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
AdditionalDependencies="atk-1.0.lib pangowin32-1.0.lib imm32.lib winspool.lib comctl32.lib"
OutputFile="$(OutDir)\$(GtkDllPrefix)$(ProjectName)-win32$(GtkDllSuffix).dll"
LinkIncremental="2"
ModuleDefinitionFile="$(IntDir)\gtk.def"

View File

@@ -1,212 +1,213 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk-demo"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
RootNamespace="gtkdemo"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk-pixbuf;..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib pango-1.0.lib pangocairo-1.0.lib"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="gtk3-demo"
ProjectGUID="{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}"
RootNamespace="gtk3demo"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Debug|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="_DEBUG;$(GtkPrefixDefine)"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
<Configuration
Name="Release|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"
/>
</Configuration>
<Configuration
Name="Release|x64"
ConfigurationType="1"
InheritedPropertySheets=".\gtk+.vsprops"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="..\..\..\gdk;..\..\..\gtk"
PreprocessorDefinitions="$(GtkPrefixDefine)"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="17"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File RelativePath="..\..\..\demos\gtk-demo\appwindow.c" />
<File RelativePath="..\..\..\demos\gtk-demo\assistant.c" />
<File RelativePath="..\..\..\demos\gtk-demo\builder.c" />
<File RelativePath="..\..\..\demos\gtk-demo\button_box.c" />
<File RelativePath="..\..\..\demos\gtk-demo\changedisplay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\clipboard.c" />
<File RelativePath="..\..\..\demos\gtk-demo\colorsel.c" />
<File RelativePath="..\..\..\demos\gtk-demo\combobox.c" />
<File RelativePath="..\..\..\demos\gtk-demo\dialog.c" />
<File RelativePath="..\..\..\demos\gtk-demo\drawingarea.c" />
<File RelativePath="..\..\..\demos\gtk-demo\editable_cells.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_buffer.c" />
<File RelativePath="..\..\..\demos\gtk-demo\entry_completion.c" />
<File RelativePath="..\..\..\demos\gtk-demo\expander.c" />
<File RelativePath="..\..\..\demos\gtk-demo\hypertext.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\iconview_edit.c" />
<File RelativePath="..\..\..\demos\gtk-demo\images.c" />
<File RelativePath="..\..\..\demos\gtk-demo\infobar.c" />
<File RelativePath="..\..\..\demos\gtk-demo\links.c" />
<File RelativePath="..\..\..\demos\gtk-demo\list_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\main.c" />
<File RelativePath="..\..\..\demos\gtk-demo\menus.c" />
<File RelativePath="..\..\..\demos\gtk-demo\overlay.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window.c" />
<File RelativePath="..\..\..\demos\gtk-demo\offscreen_window2.c" />
<File RelativePath="..\..\..\demos\gtk-demo\panes.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pickers.c" />
<File RelativePath="..\..\..\demos\gtk-demo\pixbufs.c" />
<File RelativePath="..\..\..\demos\gtk-demo\printing.c" />
<File RelativePath="..\..\..\demos\gtk-demo\rotated_text.c" />
<File RelativePath="..\..\..\demos\gtk-demo\search_entry.c" />
<File RelativePath="..\..\..\demos\gtk-demo\sizegroup.c" />
<File RelativePath="..\..\..\demos\gtk-demo\spinner.c" />
<File RelativePath="..\..\..\demos\gtk-demo\stock_browser.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textscroll.c" />
<File RelativePath="..\..\..\demos\gtk-demo\textview.c" />
<File RelativePath="..\..\..\demos\gtk-demo\toolpalette.c" />
<File RelativePath="..\..\..\demos\gtk-demo\tree_store.c" />
<File RelativePath="..\..\..\demos\gtk-demo\ui_manager.c" />
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="big5"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="libgail"
ProjectGUID="{F756B0DB-40A1-4E9F-BE1F-8F02CB86EA46}"
RootNamespace="libgail"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
</Configuration>
<Configuration
Name="Debug|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="_DEBUG;G_ENABLE_DEBUG;$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Release|Win32"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
<Configuration
Name="Release|x64"
InheritedPropertySheets=".\gtk+.vsprops"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="$(GtkDefines)"
AdditionalIncludeDirectories="..\..\..\gtk;..\..\..\gdk;..\..\..\gdk\win32"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Sources"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
#include "libgail.sourcefiles"
</Filter>
<Filter
Name="Headers"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -112,11 +112,15 @@
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define to 1 if shm.h is available */
/* #undef HAVE_SHM_H */
/* Define to 1 if rint() is available */
#ifndef _MSC_VER
#define HAVE_RINT 1
#endif
/* Define to 1 if sigsetjmp is available */
/* #undef HAVE_SIGSETJMP */
/* Define to 1 if round() is available */
#ifndef _MSC_VER
#define HAVE_ROUND 1
#endif
/* Have the sockaddr_un.sun_len member */
/* #undef HAVE_SOCKADDR_UN_SUN_LEN */
@@ -128,6 +132,9 @@
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else
#if (_MSC_VER >= 1600) /* VS 2010+ ships with stdint.h */
#define HAVE_STDINT_H 1
#endif
/* #undef HAVE_STDINT_H */
#endif
@@ -135,7 +142,9 @@
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#ifndef _MSC_VER
#define HAVE_STRINGS_H 1
#endif
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
@@ -276,12 +285,6 @@
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if medialib is available and should be used */
/* #undef USE_MEDIALIB */
/* Define to 1 if medialib 2.5 is available */
/* #undef USE_MEDIALIB25 */
/* Define to 1 if XXM is available and should be used */
#ifndef _MSC_VER
# define USE_MMX 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,60 +1,6 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
SUBDIRS = gtk-demo
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
LDADDS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS) \
$(MATH_LIB)
noinst_PROGRAMS = \
testanimation \
testpixbuf-color \
testpixbuf-save \
testpixbuf-scale \
pixbuf-demo
testpixbuf_save_DEPENDENCIES = $(DEPS)
testpixbuf_color_DEPENDENCIES = $(DEPS)
testpixbuf_scale_DEPENDENCIES = $(DEPS)
testanimation_DEPENDENCIES = $(DEPS)
pixbuf_demo_DEPENDENCIES = $(DEPS)
testpixbuf_save_LDADD = $(LDADDS)
testpixbuf_color_LDADD = $(LDADDS)
testpixbuf_scale_LDADD = $(LDADDS)
testanimation_LDADD = $(LDADDS)
pixbuf_demo_LDADD = $(LDADDS)
testpixbuf_save_SOURCES = testpixbuf-save.c
testpixbuf_color_SOURCES = testpixbuf-color.c
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
testanimation_SOURCES = testanimation.c pixbuf-init.c
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c
EXTRA_DIST += \
apple-red.png \
background.jpg \
gnome-applets.png \
gnome-calendar.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png
SUBDIRS = gtk-demo pixbuf-demo
-include $(top_srcdir)/git.mk

View File

@@ -30,6 +30,7 @@ demos = \
menus.c \
offscreen_window.c \
offscreen_window2.c \
overlay.c \
panes.c \
pickers.c \
pixbufs.c \
@@ -45,7 +46,7 @@ demos = \
tree_store.c \
ui_manager.c
INCLUDES = \
AM_CPPFLAGS = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
@@ -55,13 +56,12 @@ INCLUDES = \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
$(top_builddir)/gtk/libgtk-3.la
LDADDS = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib) \
$(GTK_DEP_LIBS) \
$(top_builddir)/gtk/libgtk-3.la \
$(top_builddir)/gdk/libgdk-3.la \
$(GTK_DEP_LIBS) \
-lm
bin_PROGRAMS = gtk3-demo
@@ -73,7 +73,7 @@ EXTRA_DIST += \
demo.ui
demos.h: @REBUILD@ $(demos) geninclude.pl
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
$(AM_V_GEN) (here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
gtk3_demo_SOURCES = \
$(demos) \

View File

@@ -25,8 +25,8 @@ activate_action (GtkAction *action)
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme", value,
NULL);
"gtk-application-prefer-dark-theme", value,
NULL);
return;
}
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
@@ -69,7 +69,7 @@ activate_radio_action (GtkAction *action, GtkRadioAction *current)
static void
about_cb (GtkAction *action,
GtkWidget *window)
GtkWidget *window)
{
GdkPixbuf *pixbuf, *transparent;
gchar *filename;
@@ -102,21 +102,21 @@ about_cb (GtkAction *action,
}
gtk_show_about_dialog (GTK_WINDOW (window),
"program-name", "GTK+ Code Demos",
"version", g_strdup_printf ("%s,\nRunning against GTK+ %d.%d.%d",
PACKAGE_VERSION,
gtk_get_major_version (),
gtk_get_minor_version (),
gtk_get_micro_version ()),
"copyright", "(C) 1997-2009 The GTK+ Team",
"license-type", GTK_LICENSE_LGPL_2_1,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
"authors", authors,
"documenters", documentors,
"logo", transparent,
"program-name", "GTK+ Code Demos",
"version", g_strdup_printf ("%s,\nRunning against GTK+ %d.%d.%d",
PACKAGE_VERSION,
gtk_get_major_version (),
gtk_get_minor_version (),
gtk_get_micro_version ()),
"copyright", "(C) 1997-2009 The GTK+ Team",
"license-type", GTK_LICENSE_LGPL_2_1,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
"authors", authors,
"documenters", documentors,
"logo", transparent,
"title", "About GTK+ Code Demos",
NULL);
NULL);
g_object_unref (transparent);
}
@@ -249,9 +249,9 @@ static const gchar *ui_info =
" <menu action='PreferencesMenu'>"
" <menuitem action='DarkTheme'/>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" </menu>"
" <menu action='ShapeMenu'>"
" <menuitem action='Square'/>"
@@ -317,10 +317,10 @@ register_stock_icons (void)
pixbuf = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
g_free (filename);
}
{
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
g_free (filename);
}
/* Register icon to accompany stock item */
if (pixbuf != NULL)
@@ -355,8 +355,8 @@ update_statusbar (GtkTextBuffer *buffer,
GtkTextIter iter;
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
* underflow is allowed
*/
* underflow is allowed
*/
count = gtk_text_buffer_get_char_count (buffer);
@@ -407,7 +407,7 @@ do_appwindow (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
gtk_window_set_icon_name (GTK_WINDOW (window), "document-open");
@@ -416,7 +416,7 @@ do_appwindow (GtkWidget *do_widget)
G_CALLBACK (gtk_widget_destroyed),
&window);
table = gtk_table_new (1, 5, FALSE);
table = gtk_grid_new ();
gtk_container_add (GTK_CONTAINER (window), table);
@@ -425,60 +425,52 @@ do_appwindow (GtkWidget *do_widget)
action_group = gtk_action_group_new ("AppWindowActions");
open_action = g_object_new (tool_menu_action_get_type (),
"name", "Open",
"label", "_Open",
"tooltip", "Open a file",
"stock-id", GTK_STOCK_OPEN,
NULL);
"name", "Open",
"label", "_Open",
"tooltip", "Open a file",
"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);
entries, n_entries,
window);
gtk_action_group_add_toggle_actions (action_group,
toggle_entries, n_toggle_entries,
NULL);
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (action_group,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (action_group,
shape_entries, n_shape_entries,
SHAPE_SQUARE,
G_CALLBACK (activate_radio_action),
NULL);
shape_entries, n_shape_entries,
SHAPE_SQUARE,
G_CALLBACK (activate_radio_action),
NULL);
merge = gtk_ui_manager_new ();
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
g_object_unref);
g_object_unref);
gtk_ui_manager_insert_action_group (merge, action_group, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (merge));
gtk_ui_manager_get_accel_group (merge));
if (!gtk_ui_manager_add_ui_from_string (merge, ui_info, -1, &error))
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
bar = gtk_ui_manager_get_widget (merge, "/MenuBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
/* X direction */ /* Y direction */
0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
gtk_widget_set_halign (bar, GTK_ALIGN_FILL);
gtk_grid_attach (GTK_GRID (table), bar, 0, 0, 1, 1);
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
/* X direction */ /* Y direction */
0, 1, 1, 2,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
gtk_widget_set_halign (bar, GTK_ALIGN_FILL);
gtk_grid_attach (GTK_GRID (table), bar, 0, 1, 1, 1);
/* Create document
*/
@@ -495,12 +487,8 @@ do_appwindow (GtkWidget *do_widget)
g_signal_connect (infobar, "response",
G_CALLBACK (gtk_widget_hide), NULL);
gtk_table_attach (GTK_TABLE (table),
infobar,
/* X direction */ /* Y direction */
0, 1, 2, 3,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
gtk_widget_set_halign (infobar, GTK_ALIGN_FILL);
gtk_grid_attach (GTK_GRID (table), infobar, 0, 2, 1, 1);
sw = gtk_scrolled_window_new (NULL, NULL);
@@ -511,12 +499,11 @@ do_appwindow (GtkWidget *do_widget)
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_IN);
gtk_table_attach (GTK_TABLE (table),
sw,
/* X direction */ /* Y direction */
0, 1, 3, 4,
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
0, 0);
gtk_widget_set_halign (sw, GTK_ALIGN_FILL);
gtk_widget_set_valign (sw, GTK_ALIGN_FILL);
gtk_widget_set_hexpand (sw, TRUE);
gtk_widget_set_vexpand (sw, TRUE);
gtk_grid_attach (GTK_GRID (table), sw, 0, 3, 1, 1);
gtk_window_set_default_size (GTK_WINDOW (window),
200, 200);
@@ -530,16 +517,12 @@ do_appwindow (GtkWidget *do_widget)
/* Create statusbar */
statusbar = gtk_statusbar_new ();
gtk_table_attach (GTK_TABLE (table),
statusbar,
/* X direction */ /* Y direction */
0, 1, 4, 5,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
gtk_widget_set_halign (sw, GTK_ALIGN_FILL);
gtk_grid_attach (GTK_GRID (table), statusbar, 0, 4, 1, 1);
/* Show text widget info in the statusbar */
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (contents));
g_signal_connect_object (buffer,
"changed",
G_CALLBACK (update_statusbar),
@@ -569,4 +552,3 @@ do_appwindow (GtkWidget *do_widget)
return window;
}

View File

@@ -1,6 +1,6 @@
/* Assistant
*
* Demonstrates a sample multistep assistant. Assistants are used to divide
* Demonstrates a sample multi-step assistant. Assistants are used to divide
* an operation into several simpler sequential steps, and to guide the user
* through these steps.
*/
@@ -29,6 +29,7 @@ apply_changes_gradually (gpointer data)
{
/* Close automatically once changes are fully applied. */
gtk_widget_destroy (assistant);
assistant = NULL;
return FALSE;
}
}
@@ -92,7 +93,6 @@ static void
create_page1 (GtkWidget *assistant)
{
GtkWidget *box, *label, *entry;
GdkPixbuf *pixbuf;
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
@@ -101,48 +101,39 @@ create_page1 (GtkWidget *assistant)
gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 0);
g_signal_connect (G_OBJECT (entry), "changed",
G_CALLBACK (on_entry_changed), assistant);
G_CALLBACK (on_entry_changed), assistant);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1");
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO);
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page2 (GtkWidget *assistant)
{
GtkWidget *box, *checkbutton;
GdkPixbuf *pixbuf;
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
"even if you do not check this");
"even if you do not check this");
gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2");
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page3 (GtkWidget *assistant)
{
GtkWidget *label;
GdkPixbuf *pixbuf;
label = gtk_label_new ("This is a confirmation page, press 'Apply' to apply changes");
@@ -151,30 +142,24 @@ create_page3 (GtkWidget *assistant)
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation");
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), label, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page4 (GtkWidget *assistant)
{
GtkWidget *page;
page = gtk_alignment_new (0.5, 0.5, 0.5, 0.0);
progress_bar = gtk_progress_bar_new ();
gtk_container_add (GTK_CONTAINER (page), progress_bar);
gtk_widget_set_halign (progress_bar, GTK_ALIGN_CENTER);
gtk_widget_set_valign (progress_bar, GTK_ALIGN_CENTER);
gtk_widget_show_all (page);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), page);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), page, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page, "Applying changes");
gtk_widget_show (progress_bar);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), progress_bar);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), progress_bar, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), progress_bar, "Applying changes");
/* This prevents the assistant window from being
* closed while we're "busy" applying changes. */
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, FALSE);
* closed while we're "busy" applying changes.
*/
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), progress_bar, FALSE);
}
GtkWidget*
@@ -184,10 +169,10 @@ do_assistant (GtkWidget *do_widget)
{
assistant = gtk_assistant_new ();
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
gtk_window_set_screen (GTK_WINDOW (assistant),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
create_page1 (assistant);
create_page2 (assistant);
@@ -195,13 +180,13 @@ do_assistant (GtkWidget *do_widget)
create_page4 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "close",
G_CALLBACK (on_assistant_close_cancel), &assistant);
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "apply",
G_CALLBACK (on_assistant_apply), NULL);
G_CALLBACK (on_assistant_apply), NULL);
g_signal_connect (G_OBJECT (assistant), "prepare",
G_CALLBACK (on_assistant_prepare), NULL);
G_CALLBACK (on_assistant_prepare), NULL);
}
if (!gtk_widget_get_visible (assistant))

View File

@@ -33,7 +33,7 @@ do_builder (GtkWidget *do_widget)
static GtkWidget *window = NULL;
GError *err = NULL;
gchar *filename;
if (!window)
{
builder = gtk_builder_new ();
@@ -41,16 +41,16 @@ do_builder (GtkWidget *do_widget)
gtk_builder_add_from_file (builder, filename, &err);
g_free (filename);
if (err)
{
g_error ("ERROR: %s\n", err->message);
return NULL;
}
{
g_error ("ERROR: %s\n", err->message);
return NULL;
}
gtk_builder_connect_signals (builder, NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
}
if (!gtk_widget_get_visible (window))
@@ -58,7 +58,7 @@ do_builder (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -7,14 +7,14 @@
static GtkWidget *
create_bbox (gint horizontal,
char *title,
gint spacing,
gint layout)
char *title,
gint spacing,
gint layout)
{
GtkWidget *frame;
GtkWidget *bbox;
GtkWidget *button;
frame = gtk_frame_new (title);
if (horizontal)
@@ -27,13 +27,13 @@ create_bbox (gint horizontal,
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
gtk_box_set_spacing (GTK_BOX (bbox), spacing);
button = gtk_button_new_from_stock (GTK_STOCK_OK);
gtk_container_add (GTK_CONTAINER (bbox), button);
button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
gtk_container_add (GTK_CONTAINER (bbox), button);
button = gtk_button_new_from_stock (GTK_STOCK_HELP);
gtk_container_add (GTK_CONTAINER (bbox), button);
@@ -49,68 +49,68 @@ do_button_box (GtkWidget *do_widget)
GtkWidget *hbox;
GtkWidget *frame_horz;
GtkWidget *frame_vert;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
frame_horz = gtk_frame_new ("Horizontal Button Boxes");
gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
frame_vert = gtk_frame_new ("Vertical Button Boxes");
gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
}
if (!gtk_widget_get_visible (window))
@@ -118,7 +118,7 @@ do_button_box (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -27,6 +27,9 @@
* - Using GtkDialog
*/
#include <string.h>
#undef GDK_DISABLE_DEPRECATED
#include <gtk/gtk.h>
#include "demo-common.h"
@@ -92,8 +95,8 @@ find_toplevel_at_pointer (GdkDisplay *display)
static gboolean
button_release_event_cb (GtkWidget *widget,
GdkEventButton *event,
gboolean *clicked)
GdkEventButton *event,
gboolean *clicked)
{
*clicked = TRUE;
return TRUE;
@@ -105,7 +108,7 @@ button_release_event_cb (GtkWidget *widget,
*/
static GtkWidget *
query_for_toplevel (GdkScreen *screen,
const char *prompt)
const char *prompt)
{
GdkDisplay *display = gdk_screen_get_display (screen);
GtkWidget *popup, *label, *frame;
@@ -122,38 +125,38 @@ query_for_toplevel (GdkScreen *screen,
gtk_container_add (GTK_CONTAINER (popup), frame);
label = gtk_label_new (prompt);
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
g_object_set (label, "margin", 10, NULL);
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show_all (popup);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
if (gdk_pointer_grab (gtk_widget_get_window (popup), FALSE,
GDK_BUTTON_RELEASE_MASK,
NULL,
cursor,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
GDK_BUTTON_RELEASE_MASK,
NULL,
cursor,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
{
gboolean clicked = FALSE;
g_signal_connect (popup, "button-release-event",
G_CALLBACK (button_release_event_cb), &clicked);
G_CALLBACK (button_release_event_cb), &clicked);
/* Process events until clicked is set by button_release_event_cb.
* We pass in may_block=TRUE since we want to wait if there
* are no events currently.
*/
while (!clicked)
g_main_context_iteration (NULL, TRUE);
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
if (toplevel == popup)
toplevel = NULL;
toplevel = NULL;
}
gdk_cursor_unref (cursor);
g_object_unref (cursor);
gtk_widget_destroy (popup);
gdk_flush (); /* Really release the grab */
gdk_flush (); /* Really release the grab */
return toplevel;
}
@@ -168,8 +171,8 @@ query_change_display (ChangeDisplayInfo *info)
GtkWidget *toplevel;
toplevel = query_for_toplevel (screen,
"Please select the toplevel\n"
"to move to the new screen");
"Please select the toplevel\n"
"to move to the new screen");
if (toplevel)
gtk_window_set_screen (GTK_WINDOW (toplevel), info->current_screen);
@@ -190,19 +193,19 @@ fill_screens (ChangeDisplayInfo *info)
gint i;
for (i = 0; i < n_screens; i++)
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
SCREEN_COLUMN_SCREEN, screen,
-1);
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
SCREEN_COLUMN_SCREEN, screen,
-1);
if (i == 0)
gtk_tree_selection_select_iter (info->screen_selection, &iter);
}
if (i == 0)
gtk_tree_selection_select_iter (info->screen_selection, &iter);
}
}
}
@@ -212,8 +215,8 @@ fill_screens (ChangeDisplayInfo *info)
*/
static void
response_cb (GtkDialog *dialog,
gint response_id,
ChangeDisplayInfo *info)
gint response_id,
ChangeDisplayInfo *info)
{
if (response_id == GTK_RESPONSE_OK)
query_change_display (info);
@@ -227,7 +230,7 @@ response_cb (GtkDialog *dialog,
*/
static void
open_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
GtkWidget *content_area;
GtkWidget *dialog;
@@ -237,11 +240,11 @@ open_display_cb (GtkWidget *button,
GdkDisplay *result = NULL;
dialog = gtk_dialog_new_with_buttons ("Open Display",
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
display_entry = gtk_entry_new ();
@@ -261,25 +264,25 @@ open_display_cb (GtkWidget *button,
{
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
if (response_id != GTK_RESPONSE_OK)
break;
break;
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
0, -1);
0, -1);
if (strcmp (new_screen_name, "") != 0)
{
result = gdk_display_open (new_screen_name);
if (!result)
{
gchar *error_msg =
g_strdup_printf ("Can't open display :\n\t%s\nplease try another one\n",
new_screen_name);
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
g_free (error_msg);
}
{
result = gdk_display_open (new_screen_name);
if (!result)
{
gchar *error_msg =
g_strdup_printf ("Can't open display :\n\t%s\nplease try another one\n",
new_screen_name);
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
g_free (error_msg);
}
g_free (new_screen_name);
}
g_free (new_screen_name);
}
}
gtk_widget_destroy (dialog);
@@ -290,7 +293,7 @@ open_display_cb (GtkWidget *button,
*/
static void
close_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
if (info->current_display)
gdk_display_close (info->current_display);
@@ -302,7 +305,7 @@ close_display_cb (GtkWidget *button,
*/
static void
display_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -311,8 +314,8 @@ display_changed_cb (GtkTreeSelection *selection,
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,
-1);
DISPLAY_COLUMN_DISPLAY, &info->current_display,
-1);
else
info->current_display = NULL;
@@ -324,7 +327,7 @@ display_changed_cb (GtkTreeSelection *selection,
*/
static void
screen_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -333,8 +336,8 @@ screen_changed_cb (GtkTreeSelection *selection,
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,
-1);
SCREEN_COLUMN_SCREEN, &info->current_screen,
-1);
else
info->current_screen = NULL;
}
@@ -346,10 +349,10 @@ screen_changed_cb (GtkTreeSelection *selection,
*/
static void
create_frame (ChangeDisplayInfo *info,
const char *title,
GtkWidget **frame,
GtkWidget **tree_view,
GtkWidget **button_vbox)
const char *title,
GtkWidget **frame,
GtkWidget **tree_view,
GtkWidget **button_vbox)
{
GtkTreeSelection *selection;
GtkWidget *scrollwin;
@@ -363,9 +366,9 @@ create_frame (ChangeDisplayInfo *info,
scrollwin = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin),
GTK_SHADOW_IN);
GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), scrollwin, TRUE, TRUE, 0);
*tree_view = gtk_tree_view_new ();
@@ -394,7 +397,8 @@ left_align_button_new (const char *label)
GtkWidget *button = gtk_button_new_with_mnemonic (label);
GtkWidget *child = gtk_bin_get_child (GTK_BIN (button));
gtk_misc_set_alignment (GTK_MISC (child), 0., 0.5);
gtk_widget_set_halign (child, GTK_ALIGN_START);
gtk_widget_set_valign (child, GTK_ALIGN_CENTER);
return button;
}
@@ -422,20 +426,20 @@ create_display_frame (ChangeDisplayInfo *info)
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
info->display_model = (GtkTreeModel *)gtk_list_store_new (DISPLAY_NUM_COLUMNS,
G_TYPE_STRING,
GDK_TYPE_DISPLAY);
G_TYPE_STRING,
GDK_TYPE_DISPLAY);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->display_model);
column = gtk_tree_view_column_new_with_attributes ("Name",
gtk_cell_renderer_text_new (),
"text", DISPLAY_COLUMN_NAME,
NULL);
gtk_cell_renderer_text_new (),
"text", DISPLAY_COLUMN_NAME,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (selection, "changed",
G_CALLBACK (display_changed_cb), info);
G_CALLBACK (display_changed_cb), info);
return frame;
}
@@ -453,20 +457,20 @@ create_screen_frame (ChangeDisplayInfo *info)
create_frame (info, "Screen", &frame, &tree_view, &button_vbox);
info->screen_model = (GtkTreeModel *)gtk_list_store_new (SCREEN_NUM_COLUMNS,
G_TYPE_INT,
GDK_TYPE_SCREEN);
G_TYPE_INT,
GDK_TYPE_SCREEN);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->screen_model);
column = gtk_tree_view_column_new_with_attributes ("Number",
gtk_cell_renderer_text_new (),
"text", SCREEN_COLUMN_NUMBER,
NULL);
gtk_cell_renderer_text_new (),
"text", SCREEN_COLUMN_NUMBER,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
info->screen_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (info->screen_selection, "changed",
G_CALLBACK (screen_changed_cb), info);
G_CALLBACK (screen_changed_cb), info);
return frame;
}
@@ -476,8 +480,8 @@ create_screen_frame (ChangeDisplayInfo *info)
*/
static void
display_closed_cb (GdkDisplay *display,
gboolean is_error,
ChangeDisplayInfo *info)
gboolean is_error,
ChangeDisplayInfo *info)
{
GtkTreeIter iter;
gboolean valid;
@@ -489,13 +493,13 @@ display_closed_cb (GdkDisplay *display,
GdkDisplay *tmp_display;
gtk_tree_model_get (info->display_model, &iter,
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
if (tmp_display == display)
{
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
break;
}
{
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
break;
}
}
}
@@ -505,27 +509,27 @@ display_closed_cb (GdkDisplay *display,
*/
static void
add_display (ChangeDisplayInfo *info,
GdkDisplay *display)
GdkDisplay *display)
{
const gchar *name = gdk_display_get_name (display);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
DISPLAY_COLUMN_NAME, name,
DISPLAY_COLUMN_DISPLAY, display,
-1);
DISPLAY_COLUMN_NAME, name,
DISPLAY_COLUMN_DISPLAY, display,
-1);
g_signal_connect (display, "closed",
G_CALLBACK (display_closed_cb), info);
G_CALLBACK (display_closed_cb), info);
}
/* Called when a new display is opened
*/
static void
display_opened_cb (GdkDisplayManager *manager,
GdkDisplay *display,
ChangeDisplayInfo *info)
GdkDisplay *display,
ChangeDisplayInfo *info)
{
add_display (info, display);
}
@@ -547,7 +551,7 @@ initialize_displays (ChangeDisplayInfo *info)
g_slist_free (tmp_list);
g_signal_connect (manager, "display-opened",
G_CALLBACK (display_opened_cb), info);
G_CALLBACK (display_opened_cb), info);
}
/* Cleans up when the toplevel is destroyed; we remove the
@@ -562,13 +566,13 @@ destroy_info (ChangeDisplayInfo *info)
GSList *tmp_list;
g_signal_handlers_disconnect_by_func (manager,
display_opened_cb,
info);
display_opened_cb,
info);
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
g_signal_handlers_disconnect_by_func (tmp_list->data,
display_closed_cb,
info);
display_closed_cb,
info);
g_slist_free (tmp_list);
@@ -586,7 +590,7 @@ destroy_info (ChangeDisplayInfo *info)
static void
destroy_cb (GObject *object,
ChangeDisplayInfo **info)
ChangeDisplayInfo **info)
{
destroy_info (*info);
*info = NULL;
@@ -609,18 +613,18 @@ do_changedisplay (GtkWidget *do_widget)
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
NULL);
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
NULL);
gtk_window_set_default_size (GTK_WINDOW (info->window), 300, 400);
g_signal_connect (info->window, "response",
G_CALLBACK (response_cb), info);
G_CALLBACK (response_cb), info);
g_signal_connect (info->window, "destroy",
G_CALLBACK (destroy_cb), &info);
G_CALLBACK (destroy_cb), &info);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (info->window));

View File

@@ -77,8 +77,8 @@ get_image_pixbuf (GtkImage *image)
return g_object_ref (gtk_image_get_pixbuf (image));
case GTK_IMAGE_STOCK:
gtk_image_get_stock (image, &stock_id, &size);
return gtk_widget_render_icon (GTK_WIDGET (image),
stock_id, size, NULL);
return gtk_widget_render_icon_pixbuf (GTK_WIDGET (image),
stock_id, size);
default:
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
@@ -125,7 +125,7 @@ drag_data_received (GtkWidget *widget,
{
GdkPixbuf *pixbuf;
if (selection_data->length > 0)
if (gtk_selection_data_get_length (selection_data) > 0)
{
pixbuf = gtk_selection_data_get_pixbuf (selection_data);
gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf);

View File

@@ -9,21 +9,22 @@
static GtkWidget *window = NULL;
static GtkWidget *da;
static GdkColor color;
static GdkRGBA color;
static GtkWidget *frame;
/* Expose callback for the drawing area
/* draw callback for the drawing area
*/
static gboolean
draw_callback (GtkWidget *widget,
draw_callback (GtkWidget *widget,
cairo_t *cr,
gpointer data)
{
GtkStyle *style;
GtkStyleContext *context;
GdkRGBA rgba;
style = gtk_widget_get_style (widget);
gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]);
context = gtk_widget_get_style_context (widget);
gtk_style_context_get_background_color (context, GTK_STATE_FLAG_NORMAL, &rgba);
gdk_cairo_set_source_rgba (cr, &rgba);
cairo_paint (cr);
return TRUE;
@@ -31,13 +32,13 @@ draw_callback (GtkWidget *widget,
static void
change_color_callback (GtkWidget *button,
gpointer data)
gpointer data)
{
GtkWidget *dialog;
GtkColorSelection *colorsel;
GtkColorSelectionDialog *selection_dialog;
gint response;
dialog = gtk_color_selection_dialog_new ("Changing color");
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (window));
@@ -45,20 +46,19 @@ change_color_callback (GtkWidget *button,
selection_dialog = GTK_COLOR_SELECTION_DIALOG (dialog);
colorsel = GTK_COLOR_SELECTION (gtk_color_selection_dialog_get_color_selection (selection_dialog));
gtk_color_selection_set_previous_color (colorsel, &color);
gtk_color_selection_set_current_color (colorsel, &color);
gtk_color_selection_set_previous_rgba (colorsel, &color);
gtk_color_selection_set_current_rgba (colorsel, &color);
gtk_color_selection_set_has_palette (colorsel, TRUE);
response = gtk_dialog_run (GTK_DIALOG (dialog));
if (response == GTK_RESPONSE_OK)
{
gtk_color_selection_get_current_color (colorsel,
&color);
gtk_widget_modify_bg (da, GTK_STATE_NORMAL, &color);
gtk_color_selection_get_current_rgba (colorsel, &color);
gtk_widget_override_background_color (da, 0, &color);
}
gtk_widget_destroy (dialog);
}
@@ -67,21 +67,21 @@ do_colorsel (GtkWidget *do_widget)
{
GtkWidget *vbox;
GtkWidget *button;
GtkWidget *alignment;
if (!window)
{
color.red = 0;
color.blue = 65535;
color.blue = 1;
color.green = 0;
color.alpha = 1;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Color Selection");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
@@ -92,33 +92,31 @@ do_colorsel (GtkWidget *do_widget)
/*
* Create the color swatch area
*/
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
da = gtk_drawing_area_new ();
g_signal_connect (da, "draw",
G_CALLBACK (draw_callback), NULL);
g_signal_connect (da, "draw", G_CALLBACK (draw_callback), NULL);
/* set a minimum size */
gtk_widget_set_size_request (da, 200, 200);
/* set the color */
gtk_widget_modify_bg (da, GTK_STATE_NORMAL, &color);
gtk_widget_override_background_color (da, 0, &color);
gtk_container_add (GTK_CONTAINER (frame), da);
alignment = gtk_alignment_new (1.0, 0.5, 0.0, 0.0);
button = gtk_button_new_with_mnemonic ("_Change the above color");
gtk_container_add (GTK_CONTAINER (alignment), button);
gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
gtk_widget_set_halign (button, GTK_ALIGN_END);
gtk_widget_set_valign (button, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (change_color_callback), NULL);
G_CALLBACK (change_color_callback), NULL);
}
if (!gtk_widget_get_visible (window))

View File

@@ -1,15 +1,15 @@
/* Combo boxes
/* Combo boxes
*
* The ComboBox widget allows to select one option out of a list.
* The ComboBoxEntry additionally allows the user to enter a value
* that is not in the list of options.
* that is not in the list of options.
*
* How the options are displayed is controlled by cell renderers.
*/
#include <gtk/gtk.h>
enum
enum
{
PIXBUF_COL,
TEXT_COL
@@ -20,16 +20,16 @@ strip_underscore (const gchar *text)
{
gchar *p, *q;
gchar *result;
result = g_strdup (text);
p = q = result;
while (*p)
while (*p)
{
if (*p != '_')
{
*q = *p;
q++;
}
{
*q = *p;
q++;
}
p++;
}
*q = '\0';
@@ -46,7 +46,7 @@ create_stock_icon_store (void)
GTK_STOCK_NEW,
GTK_STOCK_CLEAR,
NULL,
GTK_STOCK_OPEN
GTK_STOCK_OPEN
};
GtkStockItem item;
@@ -58,50 +58,50 @@ create_stock_icon_store (void)
gint i;
cellview = gtk_cell_view_new ();
store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING);
for (i = 0; i < G_N_ELEMENTS (stock_id); i++)
{
if (stock_id[i])
{
pixbuf = gtk_widget_render_icon (cellview, stock_id[i],
GTK_ICON_SIZE_BUTTON, NULL);
gtk_stock_lookup (stock_id[i], &item);
label = strip_underscore (item.label);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, pixbuf,
TEXT_COL, label,
-1);
g_object_unref (pixbuf);
g_free (label);
}
{
pixbuf = gtk_widget_render_icon_pixbuf (cellview, stock_id[i],
GTK_ICON_SIZE_BUTTON);
gtk_stock_lookup (stock_id[i], &item);
label = strip_underscore (item.label);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, pixbuf,
TEXT_COL, label,
-1);
g_object_unref (pixbuf);
g_free (label);
}
else
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, NULL,
TEXT_COL, "separator",
-1);
}
{
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
PIXBUF_COL, NULL,
TEXT_COL, "separator",
-1);
}
}
gtk_widget_destroy (cellview);
return GTK_TREE_MODEL (store);
}
/* A GtkCellLayoutDataFunc that demonstrates how one can control
* sensitivity of rows. This particular function does nothing
* sensitivity of rows. This particular function does nothing
* useful and just makes the second row insensitive.
*/
static void
set_sensitive (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
GtkTreePath *path;
gint *indices;
@@ -116,13 +116,13 @@ set_sensitive (GtkCellLayout *cell_layout,
}
/* A GtkTreeViewRowSeparatorFunc that demonstrates how rows can be
* rendered as separators. This particular function does nothing
* rendered as separators. This particular function does nothing
* useful and just turns the fourth row into a separator.
*/
static gboolean
is_separator (GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
GtkTreeIter *iter,
gpointer data)
{
GtkTreePath *path;
gboolean result;
@@ -141,11 +141,11 @@ create_capital_store (void)
gchar *group;
gchar *capital;
} capitals[] = {
{ "A - B", NULL },
{ "A - B", NULL },
{ NULL, "Albany" },
{ NULL, "Annapolis" },
{ NULL, "Atlanta" },
{ NULL, "Augusta" },
{ NULL, "Augusta" },
{ NULL, "Austin" },
{ NULL, "Baton Rouge" },
{ NULL, "Bismarck" },
@@ -199,36 +199,36 @@ create_capital_store (void)
{ NULL, "Trenton" },
{ NULL, NULL }
};
GtkTreeIter iter, iter2;
GtkTreeStore *store;
gint i;
store = gtk_tree_store_new (1, G_TYPE_STRING);
for (i = 0; capitals[i].group || capitals[i].capital; i++)
{
if (capitals[i].group)
{
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter, 0, capitals[i].group, -1);
}
{
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter, 0, capitals[i].group, -1);
}
else if (capitals[i].capital)
{
gtk_tree_store_append (store, &iter2, &iter);
gtk_tree_store_set (store, &iter2, 0, capitals[i].capital, -1);
}
{
gtk_tree_store_append (store, &iter2, &iter);
gtk_tree_store_set (store, &iter2, 0, capitals[i].capital, -1);
}
}
return GTK_TREE_MODEL (store);
}
static void
is_capital_sensitive (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
gboolean sensitive;
@@ -274,25 +274,25 @@ struct _MaskEntryClass
static void mask_entry_editable_init (GtkEditableInterface *iface);
G_DEFINE_TYPE_WITH_CODE (MaskEntry, mask_entry, GTK_TYPE_ENTRY,
G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE,
mask_entry_editable_init));
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 };
static const GdkRGBA error_color = { 1.0, 0.9, 0.9, 1.0 };
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_override_color (GTK_WIDGET (entry), 0, &error_color);
return;
}
}
gtk_widget_modify_base (GTK_WIDGET (entry), GTK_STATE_NORMAL, NULL);
gtk_widget_override_color (GTK_WIDGET (entry), 0, NULL);
}
@@ -338,58 +338,58 @@ do_combobox (GtkWidget *do_widget)
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Combo boxes");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
gtk_container_add (GTK_CONTAINER (window), vbox);
/* A combobox demonstrating cell renderers, separators and
* insensitive rows
* insensitive rows
*/
frame = gtk_frame_new ("Some stock icons");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
model = create_stock_icon_store ();
combo = gtk_combo_box_new_with_model (model);
g_object_unref (model);
gtk_container_add (GTK_CONTAINER (box), combo);
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"pixbuf", PIXBUF_COL,
NULL);
"pixbuf", PIXBUF_COL,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
set_sensitive,
NULL, NULL);
renderer,
set_sensitive,
NULL, NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"text", TEXT_COL,
NULL);
"text", TEXT_COL,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
set_sensitive,
NULL, NULL);
renderer,
set_sensitive,
NULL, NULL);
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo),
is_separator, NULL, NULL);
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (combo),
is_separator, NULL, NULL);
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
/* A combobox demonstrating trees.
*/
frame = gtk_frame_new ("Where are we ?");
@@ -398,7 +398,7 @@ do_combobox (GtkWidget *do_widget)
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
model = create_capital_store ();
combo = gtk_combo_box_new_with_model (model);
g_object_unref (model);
@@ -407,12 +407,12 @@ do_combobox (GtkWidget *do_widget)
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), renderer,
"text", 0,
NULL);
"text", 0,
NULL);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (combo),
renderer,
is_capital_sensitive,
NULL, NULL);
renderer,
is_capital_sensitive,
NULL, NULL);
path = gtk_tree_path_new_from_indices (0, 8, -1);
gtk_tree_model_get_iter (model, &iter, path);
@@ -423,18 +423,18 @@ do_combobox (GtkWidget *do_widget)
*/
frame = gtk_frame_new ("Editable");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_set_border_width (GTK_CONTAINER (box), 5);
gtk_container_add (GTK_CONTAINER (frame), box);
combo = gtk_combo_box_text_new_with_entry ();
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_get_child (GTK_BIN (combo)));
gtk_container_add (GTK_CONTAINER (combo), entry);
@@ -464,7 +464,7 @@ do_combobox (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -11,17 +11,17 @@ static GtkWidget *entry2 = NULL;
static void
message_dialog_clicked (GtkButton *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *dialog;
static gint i = 1;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"This message box has been popped up the following\n"
"number of times:");
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"This message box has been popped up the following\n"
"number of times:");
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"%d", i);
gtk_dialog_run (GTK_DIALOG (dialog));
@@ -31,7 +31,7 @@ message_dialog_clicked (GtkButton *button,
static void
interactive_dialog_clicked (GtkButton *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *content_area;
GtkWidget *dialog;
@@ -44,13 +44,13 @@ interactive_dialog_clicked (GtkButton *button,
gint response;
dialog = gtk_dialog_new_with_buttons ("Interactive Dialog",
GTK_WINDOW (window),
GTK_DIALOG_MODAL| GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK,
GTK_RESPONSE_OK,
GTK_WINDOW (window),
GTK_DIALOG_MODAL| GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_STOCK_OK,
GTK_RESPONSE_OK,
"_Non-stock Button",
GTK_RESPONSE_CANCEL,
NULL);
NULL);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
@@ -61,29 +61,25 @@ interactive_dialog_clicked (GtkButton *button,
stock = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
gtk_box_pack_start (GTK_BOX (hbox), stock, FALSE, FALSE, 0);
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
table = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (table), 4);
gtk_grid_set_column_spacing (GTK_GRID (table), 4);
gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
label = gtk_label_new_with_mnemonic ("_Entry 1");
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 0, 1);
gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
local_entry1 = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (local_entry1), gtk_entry_get_text (GTK_ENTRY (entry1)));
gtk_table_attach_defaults (GTK_TABLE (table), local_entry1, 1, 2, 0, 1);
gtk_grid_attach (GTK_GRID (table), local_entry1, 1, 0, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), local_entry1);
label = gtk_label_new_with_mnemonic ("E_ntry 2");
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 1, 2);
gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
local_entry2 = gtk_entry_new ();
gtk_entry_set_text (GTK_ENTRY (local_entry2), gtk_entry_get_text (GTK_ENTRY (entry2)));
gtk_table_attach_defaults (GTK_TABLE (table), local_entry2, 1, 2, 1, 2);
gtk_grid_attach (GTK_GRID (table), local_entry2, 1, 1, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), local_entry2);
gtk_widget_show_all (hbox);
response = gtk_dialog_run (GTK_DIALOG (dialog));
@@ -106,12 +102,12 @@ do_dialog (GtkWidget *do_widget)
GtkWidget *button;
GtkWidget *table;
GtkWidget *label;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Dialogs");
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
@@ -129,7 +125,7 @@ do_dialog (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
button = gtk_button_new_with_mnemonic ("_Message Dialog");
g_signal_connect (button, "clicked",
G_CALLBACK (message_dialog_clicked), NULL);
G_CALLBACK (message_dialog_clicked), NULL);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL),
@@ -142,33 +138,27 @@ do_dialog (GtkWidget *do_widget)
button = gtk_button_new_with_mnemonic ("_Interactive Dialog");
g_signal_connect (button, "clicked",
G_CALLBACK (interactive_dialog_clicked), NULL);
G_CALLBACK (interactive_dialog_clicked), NULL);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox2), button, FALSE, FALSE, 0);
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
table = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (table), 4);
gtk_grid_set_column_spacing (GTK_GRID (table), 4);
gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0);
label = gtk_label_new_with_mnemonic ("_Entry 1");
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 0, 1);
gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
entry1 = gtk_entry_new ();
gtk_table_attach_defaults (GTK_TABLE (table), entry1, 1, 2, 0, 1);
gtk_grid_attach (GTK_GRID (table), entry1, 1, 0, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry1);
label = gtk_label_new_with_mnemonic ("E_ntry 2");
gtk_table_attach_defaults (GTK_TABLE (table),
label,
0, 1, 1, 2);
gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
entry2 = gtk_entry_new ();
gtk_table_attach_defaults (GTK_TABLE (table), entry2, 1, 2, 1, 2);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry2);
gtk_grid_attach (GTK_GRID (table), entry2, 1, 1, 1, 1);
}
if (!gtk_widget_get_visible (window))
@@ -176,7 +166,7 @@ do_dialog (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -6,7 +6,7 @@
* GtkCellRenderer::editing-started signal to do custom setup of the
* editable widget.
*
* The cell renderers used in this demo are GtkCellRendererText,
* The cell renderers used in this demo are GtkCellRendererText,
* GtkCellRendererCombo and GtkCellRendererProgress.
*/
@@ -48,27 +48,27 @@ add_items (void)
g_return_if_fail (articles != NULL);
foo.number = 3;
foo.product = g_strdup ("bottles of coke");
foo.product = "bottles of coke";
foo.yummy = 20;
g_array_append_vals (articles, &foo, 1);
foo.number = 5;
foo.product = g_strdup ("packages of noodles");
foo.product = "packages of noodles";
foo.yummy = 50;
g_array_append_vals (articles, &foo, 1);
foo.number = 2;
foo.product = g_strdup ("packages of chocolate chip cookies");
foo.product = "packages of chocolate chip cookies";
foo.yummy = 90;
g_array_append_vals (articles, &foo, 1);
foo.number = 1;
foo.product = g_strdup ("can vanilla ice cream");
foo.product = "can vanilla ice cream";
foo.yummy = 60;
g_array_append_vals (articles, &foo, 1);
foo.number = 6;
foo.product = g_strdup ("eggs");
foo.product = "eggs";
foo.yummy = 10;
g_array_append_vals (articles, &foo, 1);
}
@@ -205,7 +205,7 @@ editing_started (GtkCellRenderer *cell,
const gchar *path,
gpointer data)
{
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (editable),
gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (editable),
separator_row, NULL, NULL);
}
@@ -259,7 +259,7 @@ cell_edited (GtkCellRendererText *cell,
}
static void
add_columns (GtkTreeView *treeview,
add_columns (GtkTreeView *treeview,
GtkTreeModel *items_model,
GtkTreeModel *numbers_model)
{
@@ -306,8 +306,6 @@ add_columns (GtkTreeView *treeview,
-1, "Yummy", renderer,
"value", COLUMN_ITEM_YUMMY,
NULL);
}
GtkWidget *

View File

@@ -20,17 +20,17 @@ do_entry_buffer (GtkWidget *do_widget)
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkEntryBuffer",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
@@ -64,5 +64,3 @@ do_entry_buffer (GtkWidget *do_widget)
return window;
}

View File

@@ -15,7 +15,7 @@ create_completion_model (void)
{
GtkListStore *store;
GtkTreeIter iter;
store = gtk_list_store_new (1, G_TYPE_STRING);
/* Append one word */
@@ -29,7 +29,7 @@ create_completion_model (void)
/* And another word */
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, "totally", -1);
return GTK_TREE_MODEL (store);
}
@@ -43,51 +43,51 @@ do_entry_completion (GtkWidget *do_widget)
GtkWidget *entry;
GtkEntryCompletion *completion;
GtkTreeModel *completion_model;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkEntryCompletion",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
{
window = gtk_dialog_new_with_buttons ("GtkEntryCompletion",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "Completion demo, try writing <b>total</b> or <b>gnome</b> for example.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label), "Completion demo, try writing <b>total</b> or <b>gnome</b> for example.");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
/* Create our entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
/* Create our entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (vbox), entry, FALSE, FALSE, 0);
/* Create the completion object */
completion = gtk_entry_completion_new ();
/* Create the completion object */
completion = gtk_entry_completion_new ();
/* Assign the completion to the entry */
gtk_entry_set_completion (GTK_ENTRY (entry), completion);
g_object_unref (completion);
/* Create a tree model and use it as the completion model */
completion_model = create_completion_model ();
gtk_entry_completion_set_model (completion, completion_model);
g_object_unref (completion_model);
/* Use model column 0 as the text column */
gtk_entry_completion_set_text_column (completion, 0);
}
/* Assign the completion to the entry */
gtk_entry_set_completion (GTK_ENTRY (entry), completion);
g_object_unref (completion);
/* Create a tree model and use it as the completion model */
completion_model = create_completion_model ();
gtk_entry_completion_set_model (completion, completion_model);
g_object_unref (completion_model);
/* Use model column 0 as the text column */
gtk_entry_completion_set_text_column (completion, 0);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
@@ -96,5 +96,3 @@ do_entry_completion (GtkWidget *do_widget)
return window;
}

View File

@@ -17,21 +17,21 @@ do_expander (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *label;
GtkWidget *expander;
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkExpander",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
@@ -57,5 +57,3 @@ do_expander (GtkWidget *do_widget)
return window;
}

View File

@@ -1,8 +1,8 @@
/* Text Widget/Hypertext
*
* Usually, tags modify the appearance of text in the view, e.g. making it
* bold or colored or underlined. But tags are not restricted to appearance.
* They can also affect the behavior of mouse and key presses, as this demo
* Usually, tags modify the appearance of text in the view, e.g. making it
* bold or colored or underlined. But tags are not restricted to appearance.
* They can also affect the behavior of mouse and key presses, as this demo
* shows.
*/
@@ -12,19 +12,19 @@
/* Inserts a piece of text into the buffer, giving it the usual
* appearance of a hyperlink in a web browser: blue and underlined.
* Additionally, attaches some data on the tag, to make it recognizable
* as a link.
* as a link.
*/
static void
insert_link (GtkTextBuffer *buffer,
GtkTextIter *iter,
gchar *text,
static void
insert_link (GtkTextBuffer *buffer,
GtkTextIter *iter,
gchar *text,
gint page)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
tag = gtk_text_buffer_create_tag (buffer, NULL,
"foreground", "blue",
"underline", PANGO_UNDERLINE_SINGLE,
NULL);
g_object_set_data (G_OBJECT (tag), "page", GINT_TO_POINTER (page));
gtk_text_buffer_insert_with_tags (buffer, iter, text, -1, tag, NULL);
@@ -34,7 +34,7 @@ insert_link (GtkTextBuffer *buffer,
* hypertext app, this method would parse a file to identify the links.
*/
static void
show_page (GtkTextBuffer *buffer,
show_page (GtkTextBuffer *buffer,
gint page)
{
GtkTextIter iter;
@@ -51,7 +51,7 @@ show_page (GtkTextBuffer *buffer,
}
else if (page == 2)
{
gtk_text_buffer_insert (buffer, &iter,
gtk_text_buffer_insert (buffer, &iter,
"A tag is an attribute that can be applied to some range of text. "
"For example, a tag might be called \"bold\" and make the text inside "
"the tag bold. However, the tag concept is more general than that; "
@@ -60,27 +60,27 @@ show_page (GtkTextBuffer *buffer,
"user can't edit it, or countless other things.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
else if (page == 3)
else if (page == 3)
{
GtkTextTag *tag;
tag = gtk_text_buffer_create_tag (buffer, NULL,
"weight", PANGO_WEIGHT_BOLD,
tag = gtk_text_buffer_create_tag (buffer, NULL,
"weight", PANGO_WEIGHT_BOLD,
NULL);
gtk_text_buffer_insert_with_tags (buffer, &iter, "hypertext:\n", -1, tag, NULL);
gtk_text_buffer_insert (buffer, &iter,
gtk_text_buffer_insert (buffer, &iter,
"machine-readable text that is not sequential but is organized "
"so that related items of information are connected.\n", -1);
insert_link (buffer, &iter, "Go back", 1);
}
}
/* Looks at all tags covering the position of iter in the text view,
/* Looks at all tags covering the position of iter in the text view,
* and if one of them is a link, follow it by showing the page identified
* by the data attached to it.
*/
static void
follow_if_link (GtkWidget *text_view,
follow_if_link (GtkWidget *text_view,
GtkTextIter *iter)
{
GSList *tags = NULL, *tagp = NULL;
@@ -98,7 +98,7 @@ follow_if_link (GtkWidget *text_view,
}
}
if (tags)
if (tags)
g_slist_free (tags);
}
@@ -113,10 +113,10 @@ key_press_event (GtkWidget *text_view,
switch (event->keyval)
{
case GDK_KEY_Return:
case GDK_KEY_Return:
case GDK_KEY_KP_Enter:
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view));
gtk_text_buffer_get_iter_at_mark (buffer, &iter,
gtk_text_buffer_get_iter_at_mark (buffer, &iter,
gtk_text_buffer_get_insert (buffer));
follow_if_link (text_view, &iter);
break;
@@ -154,7 +154,7 @@ event_after (GtkWidget *text_view,
if (gtk_text_iter_get_offset (&start) != gtk_text_iter_get_offset (&end))
return FALSE;
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
event->x, event->y, &x, &y);
@@ -169,7 +169,7 @@ static gboolean hovering_over_link = FALSE;
static GdkCursor *hand_cursor = NULL;
static GdkCursor *regular_cursor = NULL;
/* Looks at all tags covering the position (x, y) in the text view,
/* 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
* typically used by web browsers.
*/
@@ -183,14 +183,14 @@ set_cursor_if_appropriate (GtkTextView *text_view,
gboolean hovering = FALSE;
gtk_text_view_get_iter_at_location (text_view, &iter, x, y);
tags = gtk_text_iter_get_tags (&iter);
for (tagp = tags; tagp != NULL; tagp = tagp->next)
{
GtkTextTag *tag = tagp->data;
gint page = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tag), "page"));
if (page != 0)
if (page != 0)
{
hovering = TRUE;
break;
@@ -207,11 +207,11 @@ set_cursor_if_appropriate (GtkTextView *text_view,
gdk_window_set_cursor (gtk_text_view_get_window (text_view, GTK_TEXT_WINDOW_TEXT), regular_cursor);
}
if (tags)
if (tags)
g_slist_free (tags);
}
/* Update the cursor image if the pointer moved.
/* Update the cursor image if the pointer moved.
*/
static gboolean
motion_notify_event (GtkWidget *text_view,
@@ -219,7 +219,7 @@ motion_notify_event (GtkWidget *text_view,
{
gint x, y;
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
event->x, event->y, &x, &y);
@@ -242,7 +242,7 @@ visibility_notify_event (GtkWidget *text_view,
gdk_window_get_pointer (gtk_widget_get_window (text_view),
&wx, &wy, NULL);
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (text_view),
GTK_TEXT_WINDOW_WIDGET,
wx, wy, &bx, &by);
@@ -264,13 +264,13 @@ do_hypertext (GtkWidget *do_widget)
hand_cursor = gdk_cursor_new (GDK_HAND2);
regular_cursor = gdk_cursor_new (GDK_XTERM);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_default_size (GTK_WINDOW (window),
450, 450);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
@@ -279,17 +279,17 @@ do_hypertext (GtkWidget *do_widget)
view = gtk_text_view_new ();
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (view), GTK_WRAP_WORD);
g_signal_connect (view, "key-press-event",
g_signal_connect (view, "key-press-event",
G_CALLBACK (key_press_event), NULL);
g_signal_connect (view, "event-after",
g_signal_connect (view, "event-after",
G_CALLBACK (event_after), NULL);
g_signal_connect (view, "motion-notify-event",
g_signal_connect (view, "motion-notify-event",
G_CALLBACK (motion_notify_event), NULL);
g_signal_connect (view, "visibility-notify-event",
g_signal_connect (view, "visibility-notify-event",
G_CALLBACK (visibility_notify_event), NULL);
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view));
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
@@ -314,4 +314,3 @@ do_hypertext (GtkWidget *do_widget)
return window;
}

View File

@@ -85,33 +85,34 @@ fill_store (GtkListStore *store)
/* We ignore hidden files that start with a '.' */
if (name[0] != '.')
{
path = g_build_filename (parent, name, NULL);
{
path = g_build_filename (parent, name, NULL);
is_dir = g_file_test (path, G_FILE_TEST_IS_DIR);
is_dir = g_file_test (path, G_FILE_TEST_IS_DIR);
display_name = g_filename_to_utf8 (name, -1, NULL, NULL, NULL);
display_name = g_filename_to_utf8 (name, -1, NULL, NULL, NULL);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COL_PATH, path,
COL_DISPLAY_NAME, display_name,
COL_IS_DIRECTORY, is_dir,
COL_PIXBUF, is_dir ? folder_pixbuf : file_pixbuf,
-1);
g_free (path);
g_free (display_name);
}
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter,
COL_PATH, path,
COL_DISPLAY_NAME, display_name,
COL_IS_DIRECTORY, is_dir,
COL_PIXBUF, is_dir ? folder_pixbuf : file_pixbuf,
-1);
g_free (path);
g_free (display_name);
}
name = g_dir_read_name (dir);
}
g_dir_close (dir);
}
static gint
sort_func (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
{
gboolean is_dir_a, is_dir_b;
gchar *name_a, *name_b;
@@ -123,14 +124,14 @@ sort_func (GtkTreeModel *model,
gtk_tree_model_get (model, a,
COL_IS_DIRECTORY, &is_dir_a,
COL_DISPLAY_NAME, &name_a,
-1);
COL_IS_DIRECTORY, &is_dir_a,
COL_DISPLAY_NAME, &name_a,
-1);
gtk_tree_model_get (model, b,
COL_IS_DIRECTORY, &is_dir_b,
COL_DISPLAY_NAME, &name_b,
-1);
COL_IS_DIRECTORY, &is_dir_b,
COL_DISPLAY_NAME, &name_b,
-1);
if (!is_dir_a && is_dir_b)
ret = 1;
@@ -153,26 +154,26 @@ create_store (void)
GtkListStore *store;
store = gtk_list_store_new (NUM_COLS,
G_TYPE_STRING,
G_TYPE_STRING,
GDK_TYPE_PIXBUF,
G_TYPE_BOOLEAN);
G_TYPE_STRING,
G_TYPE_STRING,
GDK_TYPE_PIXBUF,
G_TYPE_BOOLEAN);
/* Set sort column and function */
gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (store),
sort_func,
NULL, NULL);
sort_func,
NULL, NULL);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
GTK_SORT_ASCENDING);
GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
GTK_SORT_ASCENDING);
return store;
}
static void
item_activated (GtkIconView *icon_view,
GtkTreePath *tree_path,
gpointer user_data)
GtkTreePath *tree_path,
gpointer user_data)
{
GtkListStore *store;
gchar *path;
@@ -182,11 +183,11 @@ item_activated (GtkIconView *icon_view,
store = GTK_LIST_STORE (user_data);
gtk_tree_model_get_iter (GTK_TREE_MODEL (store),
&iter, tree_path);
&iter, tree_path);
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter,
COL_PATH, &path,
COL_IS_DIRECTORY, &is_dir,
-1);
COL_PATH, &path,
COL_IS_DIRECTORY, &is_dir,
-1);
if (!is_dir)
{
@@ -206,7 +207,7 @@ item_activated (GtkIconView *icon_view,
static void
up_clicked (GtkToolItem *item,
gpointer user_data)
gpointer user_data)
{
GtkListStore *store;
gchar *dir_name;
@@ -222,12 +223,12 @@ up_clicked (GtkToolItem *item,
/* Maybe de-sensitize the up button */
gtk_widget_set_sensitive (GTK_WIDGET (up_button),
strcmp (parent, "/") != 0);
strcmp (parent, "/") != 0);
}
static void
home_clicked (GtkToolItem *item,
gpointer user_data)
gpointer user_data)
{
GtkListStore *store;
@@ -240,7 +241,7 @@ home_clicked (GtkToolItem *item,
/* Sensitize the up button */
gtk_widget_set_sensitive (GTK_WIDGET (up_button),
TRUE);
TRUE);
}
static void close_window(void)
@@ -266,96 +267,96 @@ do_iconview (GtkWidget *do_widget)
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "GtkIconView demo");
g_signal_connect (window, "destroy",
G_CALLBACK (close_window), NULL);
G_CALLBACK (close_window), NULL);
error = NULL;
if (!load_pixbufs (&error))
{
GtkWidget *dialog;
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load an image: %s",
error->message);
g_error_free (error);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
gtk_widget_show (dialog);
}
else
{
GtkWidget *sw;
GtkWidget *icon_view;
GtkListStore *store;
GtkWidget *vbox;
GtkWidget *tool_bar;
GtkToolItem *home_button;
{
GtkWidget *sw;
GtkWidget *icon_view;
GtkListStore *store;
GtkWidget *vbox;
GtkWidget *tool_bar;
GtkToolItem *home_button;
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
tool_bar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0);
tool_bar = gtk_toolbar_new ();
gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0);
up_button = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), up_button, -1);
up_button = gtk_tool_button_new_from_stock (GTK_STOCK_GO_UP);
gtk_tool_item_set_is_important (up_button, TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (up_button), FALSE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), up_button, -1);
home_button = gtk_tool_button_new_from_stock (GTK_STOCK_HOME);
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);
home_button = gtk_tool_button_new_from_stock (GTK_STOCK_HOME);
gtk_tool_item_set_is_important (home_button, TRUE);
gtk_toolbar_insert (GTK_TOOLBAR (tool_bar), home_button, -1);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* Create the store and fill it with the contents of '/' */
parent = g_strdup ("/");
store = create_store ();
fill_store (store);
/* Create the store and fill it with the contents of '/' */
parent = g_strdup ("/");
store = create_store ();
fill_store (store);
icon_view = gtk_icon_view_new_with_model (GTK_TREE_MODEL (store));
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_MULTIPLE);
g_object_unref (store);
icon_view = gtk_icon_view_new_with_model (GTK_TREE_MODEL (store));
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_MULTIPLE);
g_object_unref (store);
/* Connect to the "clicked" signal of the "Up" tool button */
g_signal_connect (up_button, "clicked",
G_CALLBACK (up_clicked), store);
/* Connect to the "clicked" signal of the "Up" tool button */
g_signal_connect (up_button, "clicked",
G_CALLBACK (up_clicked), store);
/* Connect to the "clicked" signal of the "Home" tool button */
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* Connect to the "clicked" signal of the "Home" tool button */
g_signal_connect (home_button, "clicked",
G_CALLBACK (home_clicked), store);
/* We now set which model columns that correspond to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* We now set which model columns that correspond to the text
* and pixbuf of each item
*/
gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), COL_DISPLAY_NAME);
gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), COL_PIXBUF);
/* Connect to the "item-activated" signal */
g_signal_connect (icon_view, "item-activated",
G_CALLBACK (item_activated), store);
gtk_container_add (GTK_CONTAINER (sw), icon_view);
/* Connect to the "item-activated" signal */
g_signal_connect (icon_view, "item-activated",
G_CALLBACK (item_activated), store);
gtk_container_add (GTK_CONTAINER (sw), icon_view);
gtk_widget_grab_focus (icon_view);
}
gtk_widget_grab_focus (icon_view);
}
}
if (!gtk_widget_get_visible (window))
@@ -368,4 +369,3 @@ do_iconview (GtkWidget *do_widget)
return window;
}

View File

@@ -47,10 +47,10 @@ create_store (void)
static void
set_cell_color (GtkCellLayout *cell_layout,
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
GtkCellRenderer *cell,
GtkTreeModel *tree_model,
GtkTreeIter *iter,
gpointer data)
{
gchar *text;
GdkColor color;
@@ -76,9 +76,9 @@ set_cell_color (GtkCellLayout *cell_layout,
static void
edited (GtkCellRendererText *cell,
gchar *path_string,
gchar *text,
gpointer data)
gchar *path_string,
gchar *text,
gpointer data)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -89,7 +89,7 @@ edited (GtkCellRendererText *cell,
gtk_tree_model_get_iter (model, &iter, path);
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
COL_TEXT, text, -1);
COL_TEXT, text, -1);
gtk_tree_path_free (path);
}
@@ -106,11 +106,11 @@ do_iconview_edit (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Editing and Drag-and-Drop");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
store = create_store ();
fill_store (store);
@@ -119,29 +119,29 @@ do_iconview_edit (GtkWidget *do_widget)
g_object_unref (store);
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
GTK_SELECTION_SINGLE);
GTK_SELECTION_SINGLE);
gtk_icon_view_set_item_orientation (GTK_ICON_VIEW (icon_view),
GTK_ORIENTATION_HORIZONTAL);
GTK_ORIENTATION_HORIZONTAL);
gtk_icon_view_set_columns (GTK_ICON_VIEW (icon_view), 2);
gtk_icon_view_set_reorderable (GTK_ICON_VIEW (icon_view), TRUE);
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view),
renderer, TRUE);
renderer, TRUE);
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (icon_view),
renderer,
set_cell_color,
NULL, NULL);
renderer,
set_cell_color,
NULL, NULL);
renderer = gtk_cell_renderer_text_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view),
renderer, TRUE);
renderer, TRUE);
g_object_set (renderer, "editable", TRUE, NULL);
g_signal_connect (renderer, "edited", G_CALLBACK (edited), icon_view);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view),
renderer,
"text", COL_TEXT,
NULL);
renderer,
"text", COL_TEXT,
NULL);
gtk_container_add (GTK_CONTAINER (window), icon_view);
}
@@ -156,4 +156,3 @@ do_iconview_edit (GtkWidget *do_widget)
return window;
}

View File

@@ -25,7 +25,7 @@ static FILE* image_stream = NULL;
static void
progressive_prepared_callback (GdkPixbufLoader *loader,
gpointer data)
gpointer data)
{
GdkPixbuf *pixbuf;
GtkWidget *image;
@@ -44,11 +44,11 @@ progressive_prepared_callback (GdkPixbufLoader *loader,
static void
progressive_updated_callback (GdkPixbufLoader *loader,
gint x,
gint y,
gint width,
gint height,
gpointer data)
gint x,
gint y,
gint width,
gint height,
gpointer data)
{
GtkWidget *image;
@@ -86,97 +86,97 @@ progressive_timeout (gpointer data)
bytes_read = fread (buf, 1, 256, image_stream);
if (ferror (image_stream))
{
GtkWidget *dialog;
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failure reading image file 'alphatest.png': %s",
g_strerror (errno));
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failure reading image file 'alphatest.png': %s",
g_strerror (errno));
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
fclose (image_stream);
image_stream = NULL;
fclose (image_stream);
image_stream = NULL;
gtk_widget_show (dialog);
gtk_widget_show (dialog);
load_timeout = 0;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
return FALSE; /* uninstall the timeout */
}
if (!gdk_pixbuf_loader_write (pixbuf_loader,
buf, bytes_read,
&error))
{
GtkWidget *dialog;
buf, bytes_read,
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
g_error_free (error);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
fclose (image_stream);
image_stream = NULL;
fclose (image_stream);
image_stream = NULL;
gtk_widget_show (dialog);
gtk_widget_show (dialog);
load_timeout = 0;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
return FALSE; /* uninstall the timeout */
}
if (feof (image_stream))
{
fclose (image_stream);
image_stream = NULL;
{
fclose (image_stream);
image_stream = NULL;
/* Errors can happen on close, e.g. if the image
* file was truncated we'll know on close that
* it was incomplete.
*/
error = NULL;
if (!gdk_pixbuf_loader_close (pixbuf_loader,
&error))
{
GtkWidget *dialog;
/* Errors can happen on close, e.g. if the image
* file was truncated we'll know on close that
* it was incomplete.
*/
error = NULL;
if (!gdk_pixbuf_loader_close (pixbuf_loader,
&error))
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to load image: %s",
error->message);
g_error_free (error);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
gtk_widget_show (dialog);
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
load_timeout = 0;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
return FALSE; /* uninstall the timeout */
}
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
}
else
{
@@ -190,55 +190,55 @@ progressive_timeout (gpointer data)
*/
filename = demo_find_file ("alphatest.png", &error);
if (error)
{
error_message = g_strdup (error->message);
g_error_free (error);
}
{
error_message = g_strdup (error->message);
g_error_free (error);
}
else
{
image_stream = g_fopen (filename, "rb");
g_free (filename);
{
image_stream = g_fopen (filename, "rb");
g_free (filename);
if (!image_stream)
error_message = g_strdup_printf ("Unable to open image file 'alphatest.png': %s",
g_strerror (errno));
}
if (!image_stream)
error_message = g_strdup_printf ("Unable to open image file 'alphatest.png': %s",
g_strerror (errno));
}
if (image_stream == NULL)
{
GtkWidget *dialog;
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error_message);
g_free (error_message);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error_message);
g_free (error_message);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
gtk_widget_show (dialog);
load_timeout = 0;
load_timeout = 0;
return FALSE; /* uninstall the timeout */
}
return FALSE; /* uninstall the timeout */
}
if (pixbuf_loader)
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
{
gdk_pixbuf_loader_close (pixbuf_loader, NULL);
g_object_unref (pixbuf_loader);
pixbuf_loader = NULL;
}
pixbuf_loader = gdk_pixbuf_loader_new ();
g_signal_connect (pixbuf_loader, "area-prepared",
G_CALLBACK (progressive_prepared_callback), image);
G_CALLBACK (progressive_prepared_callback), image);
g_signal_connect (pixbuf_loader, "area-updated",
G_CALLBACK (progressive_updated_callback), image);
G_CALLBACK (progressive_updated_callback), image);
}
/* leave timeout installed */
@@ -256,13 +256,13 @@ start_progressive_loading (GtkWidget *image)
* pauses in the reading process.
*/
load_timeout = gdk_threads_add_timeout (150,
progressive_timeout,
image);
progressive_timeout,
image);
}
static void
cleanup_callback (GObject *object,
gpointer data)
gpointer data)
{
if (load_timeout)
{
@@ -314,7 +314,6 @@ do_images (GtkWidget *do_widget)
GtkWidget *vbox;
GtkWidget *image;
GtkWidget *label;
GtkWidget *align;
GtkWidget *button;
GdkPixbuf *pixbuf;
GIcon *gicon;
@@ -325,13 +324,13 @@ do_images (GtkWidget *do_widget)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Images");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "destroy",
G_CALLBACK (cleanup_callback), NULL);
G_CALLBACK (cleanup_callback), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 8);
@@ -341,17 +340,14 @@ do_images (GtkWidget *do_widget)
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Image loaded from a file</u>");
"<u>Image loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
/* demo_find_file() looks in the current directory first,
* so you can run gtk-demo without installing GTK, then looks
@@ -360,34 +356,34 @@ do_images (GtkWidget *do_widget)
pixbuf = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", &error);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, &error);
g_free (filename);
}
{
pixbuf = gdk_pixbuf_new_from_file (filename, &error);
g_free (filename);
}
if (error)
{
/* This code shows off error handling. You can just use
* gtk_image_new_from_file() instead if you don't want to report
* errors to the user. If the file doesn't load when using
* gtk_image_new_from_file(), a "missing image" icon will
* be displayed instead.
*/
GtkWidget *dialog;
{
/* This code shows off error handling. You can just use
* gtk_image_new_from_file() instead if you don't want to report
* errors to the user. If the file doesn't load when using
* gtk_image_new_from_file(), a "missing image" icon will
* be displayed instead.
*/
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Unable to open image file 'gtk-logo-rgb.gif': %s",
error->message);
g_error_free (error);
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Unable to open image file 'gtk-logo-rgb.gif': %s",
error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
gtk_widget_show (dialog);
}
image = gtk_image_new_from_pixbuf (pixbuf);
@@ -398,17 +394,14 @@ do_images (GtkWidget *do_widget)
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Animation loaded from a file</u>");
"<u>Animation loaded from a file</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
filename = demo_find_file ("floppybuddy.gif", NULL);
image = gtk_image_new_from_file (filename);
@@ -420,19 +413,16 @@ do_images (GtkWidget *do_widget)
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Symbolic themed icon</u>");
"<u>Symbolic themed icon</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
gicon = g_themed_icon_new_with_default_fallbacks ("battery-critical-charging-symbolic");
gicon = g_themed_icon_new_with_default_fallbacks ("battery-caution-charging-symbolic");
image = gtk_image_new_from_gicon (gicon, GTK_ICON_SIZE_DIALOG);
gtk_container_add (GTK_CONTAINER (frame), image);
@@ -442,17 +432,14 @@ do_images (GtkWidget *do_widget)
label = gtk_label_new (NULL);
gtk_label_set_markup (GTK_LABEL (label),
"<u>Progressive image loading</u>");
"<u>Progressive image loading</u>");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
/* The alignment keeps the frame from growing when users resize
* the window
*/
align = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
gtk_widget_set_halign (frame, GTK_ALIGN_CENTER);
gtk_widget_set_valign (frame, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
/* Create an empty image for now; the progressive loader
* will create the pixbuf and fill it in.

View File

@@ -15,10 +15,10 @@ on_bar_response (GtkInfoBar *info_bar,
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"You clicked a button on an info bar");
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_OK,
"You clicked a button on an info bar");
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
"Your response has id %d", response_id);
gtk_dialog_run (GTK_DIALOG (dialog));

View File

@@ -54,11 +54,11 @@ do_links (GtkWidget *do_widget)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Links");
gtk_container_set_border_width (GTK_CONTAINER (window), 12);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
label = gtk_label_new ("Some <a href=\"http://en.wikipedia.org/wiki/Text\""
"title=\"plain text\">text</a> may be marked up\n"

View File

@@ -105,7 +105,7 @@ create_model (void)
gboolean sensitive;
if (i == 1 || i == 3)
icon_name = "battery-critical-charging-symbolic";
icon_name = "battery-caution-charging-symbolic";
else
icon_name = NULL;
if (i == 3)

View File

@@ -43,9 +43,9 @@ get_democodedir (void)
{
result = g_win32_get_package_installation_directory_of_module (NULL);
if (result == NULL)
result = "unknown-location";
result = "unknown-location";
result = g_strconcat (result, "\\share\\gtk-2.0\\demo", NULL);
result = g_strconcat (result, "\\share\\gtk-3.0\\demo", NULL);
}
return result;
@@ -59,19 +59,19 @@ get_democodedir (void)
* demo_find_file:
* @base: base filename
* @err: location to store error, or %NULL.
*
*
* Looks for @base first in the current directory, then in the
* location GTK+ where it will be installed on make install,
* returns the first file found.
*
*
* Return value: the filename, if found or %NULL
**/
*/
gchar *
demo_find_file (const char *base,
GError **err)
GError **err)
{
g_return_val_if_fail (err == NULL || *err == NULL, NULL);
if (g_file_test ("gtk-logo-rgb.gif", G_FILE_TEST_EXISTS) &&
g_file_test (base, G_FILE_TEST_EXISTS))
return g_strdup (base);
@@ -79,12 +79,12 @@ demo_find_file (const char *base,
{
char *filename = g_build_filename (DEMOCODEDIR, base, NULL);
if (!g_file_test (filename, G_FILE_TEST_EXISTS))
{
g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_NOENT,
"Cannot find demo data file \"%s\"", base);
g_free (filename);
return NULL;
}
{
g_set_error (err, G_FILE_ERROR, G_FILE_ERROR_NOENT,
"Cannot find demo data file \"%s\"", base);
g_free (filename);
return NULL;
}
return filename;
}
}
@@ -98,12 +98,12 @@ window_closed_cb (GtkWidget *window, gpointer data)
gtk_tree_model_get_iter (cbdata->model, &iter, cbdata->path);
gtk_tree_model_get (GTK_TREE_MODEL (cbdata->model), &iter,
STYLE_COLUMN, &style,
-1);
STYLE_COLUMN, &style,
-1);
if (style == PANGO_STYLE_ITALIC)
gtk_tree_store_set (GTK_TREE_STORE (cbdata->model), &iter,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
gtk_tree_path_free (cbdata->path);
g_free (cbdata);
@@ -113,17 +113,17 @@ gboolean
read_line (FILE *stream, GString *str)
{
int n_read = 0;
#ifdef HAVE_FLOCKFILE
flockfile (stream);
#endif
g_string_truncate (str, 0);
while (1)
{
int c;
#ifdef HAVE_FLOCKFILE
c = getc_unlocked (stream);
#else
@@ -131,31 +131,31 @@ read_line (FILE *stream, GString *str)
#endif
if (c == EOF)
goto done;
goto done;
else
n_read++;
n_read++;
switch (c)
{
case '\r':
case '\n':
{
{
case '\r':
case '\n':
{
#ifdef HAVE_FLOCKFILE
int next_c = getc_unlocked (stream);
int next_c = getc_unlocked (stream);
#else
int next_c = getc (stream);
int next_c = getc (stream);
#endif
if (!(next_c == EOF ||
(c == '\r' && next_c == '\n') ||
(c == '\n' && next_c == '\r')))
ungetc (next_c, stream);
goto done;
}
default:
g_string_append_c (str, c);
}
if (!(next_c == EOF ||
(c == '\r' && next_c == '\n') ||
(c == '\n' && next_c == '\r')))
ungetc (next_c, stream);
goto done;
}
default:
g_string_append_c (str, c);
}
}
done:
@@ -333,10 +333,10 @@ static gchar *control[] =
};
void
parse_chars (gchar *text,
gchar **end_ptr,
gint *state,
gchar **tag,
gboolean start)
gchar **end_ptr,
gint *state,
gchar **tag,
gboolean start)
{
gint i;
gchar *next_token;
@@ -346,11 +346,11 @@ parse_chars (gchar *text,
{
*end_ptr = strstr (text, "*/");
if (*end_ptr)
{
*end_ptr += 2;
*state = STATE_NORMAL;
*tag = "comment";
}
{
*end_ptr += 2;
*state = STATE_NORMAL;
*tag = "comment";
}
return;
}
@@ -362,9 +362,9 @@ parse_chars (gchar *text,
{
*end_ptr = strstr (text, "*/");
if (*end_ptr)
*end_ptr += 2;
*end_ptr += 2;
else
*state = STATE_IN_COMMENT;
*state = STATE_IN_COMMENT;
*tag = "comment";
return;
}
@@ -381,29 +381,29 @@ parse_chars (gchar *text,
if (start && * text != '\t' && *text != ' ' && *text != '{' && *text != '}')
{
if (strstr (text, "("))
{
*end_ptr = strstr (text, "(");
*tag = "function";
return;
}
{
*end_ptr = strstr (text, "(");
*tag = "function";
return;
}
}
/* check for types */
for (i = 0; types[i] != NULL; i++)
if (!strncmp (text, types[i], strlen (types[i])) ||
(start && types[i][0] == ' ' && !strncmp (text, types[i] + 1, strlen (types[i]) - 1)))
{
*end_ptr = text + strlen (types[i]);
*tag = "type";
return;
*end_ptr = text + strlen (types[i]);
*tag = "type";
return;
}
/* check for control */
for (i = 0; control[i] != NULL; i++)
if (!strncmp (text, control[i], strlen (control[i])))
{
*end_ptr = text + strlen (control[i]);
*tag = "control";
return;
*end_ptr = text + strlen (control[i]);
*tag = "control";
return;
}
/* check for string */
@@ -414,18 +414,18 @@ parse_chars (gchar *text,
*end_ptr = text + 1;
*tag = "string";
while (**end_ptr != '\000')
{
if (**end_ptr == '\"' && !maybe_escape)
{
*end_ptr += 1;
return;
}
if (**end_ptr == '\\')
maybe_escape = TRUE;
else
maybe_escape = FALSE;
*end_ptr += 1;
}
{
if (**end_ptr == '\"' && !maybe_escape)
{
*end_ptr += 1;
return;
}
if (**end_ptr == '\\')
maybe_escape = TRUE;
else
maybe_escape = FALSE;
*end_ptr += 1;
}
return;
}
@@ -434,36 +434,36 @@ parse_chars (gchar *text,
{
next_token = strstr (text, tokens[i]);
if (next_token)
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
}
for (i = 0; types[i] != NULL; i++)
{
next_token = strstr (text, types[i]);
if (next_token)
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
}
for (i = 0; control[i] != NULL; i++)
{
next_token = strstr (text, control[i]);
if (next_token)
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
{
if (*end_ptr)
*end_ptr = (*end_ptr<next_token)?*end_ptr:next_token;
else
*end_ptr = next_token;
}
}
}
@@ -488,25 +488,25 @@ fontify (void)
start_ptr = text = gtk_text_iter_get_text (&start_iter, &next_iter);
do
{
parse_chars (start_ptr, &end_ptr, &state, &tag, start);
{
parse_chars (start_ptr, &end_ptr, &state, &tag, start);
start = FALSE;
if (end_ptr)
{
tmp_iter = start_iter;
gtk_text_iter_forward_chars (&tmp_iter, end_ptr - start_ptr);
}
else
{
tmp_iter = next_iter;
}
if (tag)
gtk_text_buffer_apply_tag_by_name (source_buffer, tag, &start_iter, &tmp_iter);
start = FALSE;
if (end_ptr)
{
tmp_iter = start_iter;
gtk_text_iter_forward_chars (&tmp_iter, end_ptr - start_ptr);
}
else
{
tmp_iter = next_iter;
}
if (tag)
gtk_text_buffer_apply_tag_by_name (source_buffer, tag, &start_iter, &tmp_iter);
start_iter = tmp_iter;
start_ptr = end_ptr;
}
start_iter = tmp_iter;
start_ptr = end_ptr;
}
while (end_ptr);
g_free (text);
@@ -533,7 +533,7 @@ load_file (const gchar *filename)
g_free (current_file);
current_file = g_strdup (filename);
gtk_text_buffer_get_bounds (info_buffer, &start, &end);
gtk_text_buffer_delete (info_buffer, &start, &end);
@@ -564,101 +564,101 @@ load_file (const gchar *filename)
gchar *p = buffer->str;
gchar *q;
gchar *r;
switch (state)
{
case 0:
/* Reading title */
while (*p == '/' || *p == '*' || g_ascii_isspace (*p))
p++;
r = p;
while (*r != '/' && strlen (r))
r++;
if (strlen (r) > 0)
p = r + 1;
q = p + strlen (p);
while (q > p && g_ascii_isspace (*(q - 1)))
q--;
{
case 0:
/* Reading title */
while (*p == '/' || *p == '*' || g_ascii_isspace (*p))
p++;
r = p;
while (*r != '/' && strlen (r))
r++;
if (strlen (r) > 0)
p = r + 1;
q = p + strlen (p);
while (q > p && g_ascii_isspace (*(q - 1)))
q--;
if (q > p)
{
int len_chars = g_utf8_pointer_to_offset (p, q);
if (q > p)
{
int len_chars = g_utf8_pointer_to_offset (p, q);
end = start;
end = start;
g_assert (strlen (p) >= q - p);
gtk_text_buffer_insert (info_buffer, &end, p, q - p);
start = end;
g_assert (strlen (p) >= q - p);
gtk_text_buffer_insert (info_buffer, &end, p, q - p);
start = end;
gtk_text_iter_backward_chars (&start, len_chars);
gtk_text_buffer_apply_tag_by_name (info_buffer, "title", &start, &end);
gtk_text_iter_backward_chars (&start, len_chars);
gtk_text_buffer_apply_tag_by_name (info_buffer, "title", &start, &end);
start = end;
state++;
}
break;
case 1:
/* Reading body of info section */
while (g_ascii_isspace (*p))
p++;
if (*p == '*' && *(p + 1) == '/')
{
gtk_text_buffer_get_iter_at_offset (source_buffer, &start, 0);
state++;
}
else
{
int len;
while (*p == '*' || g_ascii_isspace (*p))
p++;
start = end;
len = strlen (p);
while (g_ascii_isspace (*(p + len - 1)))
len--;
if (len > 0)
{
if (in_para)
gtk_text_buffer_insert (info_buffer, &start, " ", 1);
state++;
}
break;
g_assert (strlen (p) >= len);
gtk_text_buffer_insert (info_buffer, &start, p, len);
in_para = 1;
}
else
{
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
in_para = 0;
}
}
break;
case 1:
/* Reading body of info section */
while (g_ascii_isspace (*p))
p++;
if (*p == '*' && *(p + 1) == '/')
{
gtk_text_buffer_get_iter_at_offset (source_buffer, &start, 0);
state++;
}
else
{
int len;
case 2:
/* Skipping blank lines */
while (g_ascii_isspace (*p))
p++;
if (*p)
{
p = buffer->str;
state++;
/* Fall through */
}
else
break;
case 3:
/* Reading program body */
gtk_text_buffer_insert (source_buffer, &start, p, -1);
gtk_text_buffer_insert (source_buffer, &start, "\n", 1);
break;
}
while (*p == '*' || g_ascii_isspace (*p))
p++;
len = strlen (p);
while (g_ascii_isspace (*(p + len - 1)))
len--;
if (len > 0)
{
if (in_para)
gtk_text_buffer_insert (info_buffer, &start, " ", 1);
g_assert (strlen (p) >= len);
gtk_text_buffer_insert (info_buffer, &start, p, len);
in_para = 1;
}
else
{
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
in_para = 0;
}
}
break;
case 2:
/* Skipping blank lines */
while (g_ascii_isspace (*p))
p++;
if (*p)
{
p = buffer->str;
state++;
/* Fall through */
}
else
break;
case 3:
/* Reading program body */
gtk_text_buffer_insert (source_buffer, &start, p, -1);
gtk_text_buffer_insert (source_buffer, &start, "\n", 1);
break;
}
}
fclose (file);
fontify ();
g_string_free (buffer, TRUE);
@@ -667,7 +667,7 @@ load_file (const gchar *filename)
void
row_activated_cb (GtkTreeView *tree_view,
GtkTreePath *path,
GtkTreeViewColumn *column)
GtkTreeViewColumn *column)
{
GtkTreeIter iter;
PangoStyle style;
@@ -676,39 +676,39 @@ row_activated_cb (GtkTreeView *tree_view,
GtkTreeModel *model;
model = gtk_tree_view_get_model (tree_view);
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (GTK_TREE_MODEL (model),
&iter,
FUNC_COLUMN, &func,
STYLE_COLUMN, &style,
-1);
&iter,
FUNC_COLUMN, &func,
STYLE_COLUMN, &style,
-1);
if (func)
{
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
STYLE_COLUMN, (style == PANGO_STYLE_ITALIC ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC),
-1);
&iter,
STYLE_COLUMN, (style == PANGO_STYLE_ITALIC ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC),
-1);
window = (func) (gtk_widget_get_toplevel (GTK_WIDGET (tree_view)));
if (window != NULL)
{
CallbackData *cbdata;
cbdata = g_new (CallbackData, 1);
cbdata->model = model;
cbdata->path = gtk_tree_path_copy (path);
g_signal_connect (window, "destroy",
G_CALLBACK (window_closed_cb), cbdata);
}
{
CallbackData *cbdata;
cbdata = g_new (CallbackData, 1);
cbdata->model = model;
cbdata->path = gtk_tree_path_copy (path);
g_signal_connect (window, "destroy",
G_CALLBACK (window_closed_cb), cbdata);
}
}
}
static void
selection_cb (GtkTreeSelection *selection,
GtkTreeModel *model)
GtkTreeModel *model)
{
GtkTreeIter iter;
GValue value = {0, };
@@ -717,8 +717,8 @@ selection_cb (GtkTreeSelection *selection,
return;
gtk_tree_model_get_value (model, &iter,
FILENAME_COLUMN,
&value);
FILENAME_COLUMN,
&value);
if (g_value_get_string (&value))
load_file (g_value_get_string (&value));
g_value_unset (&value);
@@ -726,7 +726,7 @@ selection_cb (GtkTreeSelection *selection,
static GtkWidget *
create_text (GtkTextBuffer **buffer,
gboolean is_source)
gboolean is_source)
{
GtkWidget *scrolled_window;
GtkWidget *text_view;
@@ -734,24 +734,24 @@ create_text (GtkTextBuffer **buffer,
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_SHADOW_IN);
GTK_SHADOW_IN);
text_view = gtk_text_view_new ();
*buffer = gtk_text_buffer_new (NULL);
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), *buffer);
gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (text_view), FALSE);
gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
if (is_source)
{
font_desc = pango_font_description_from_string ("monospace");
gtk_widget_modify_font (text_view, font_desc);
gtk_widget_override_font (text_view, font_desc);
pango_font_description_free (font_desc);
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view),
@@ -767,7 +767,7 @@ create_text (GtkTextBuffer **buffer,
gtk_text_view_set_pixels_below_lines (GTK_TEXT_VIEW (text_view),
2);
}
return scrolled_window;
}
@@ -790,7 +790,7 @@ create_tree (void)
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
gtk_tree_selection_set_mode (GTK_TREE_SELECTION (selection),
GTK_SELECTION_BROWSE);
GTK_SELECTION_BROWSE);
gtk_widget_set_size_request (tree_view, 200, -1);
/* this code only supports 1 level of children. If we
@@ -803,46 +803,46 @@ create_tree (void)
gtk_tree_store_append (GTK_TREE_STORE (model), &iter, NULL);
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
TITLE_COLUMN, d->title,
FILENAME_COLUMN, d->filename,
FUNC_COLUMN, d->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
&iter,
TITLE_COLUMN, d->title,
FILENAME_COLUMN, d->filename,
FUNC_COLUMN, d->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
d++;
if (!children)
continue;
while (children->title)
{
GtkTreeIter child_iter;
continue;
gtk_tree_store_append (GTK_TREE_STORE (model), &child_iter, &iter);
gtk_tree_store_set (GTK_TREE_STORE (model),
&child_iter,
TITLE_COLUMN, children->title,
FILENAME_COLUMN, children->filename,
FUNC_COLUMN, children->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
children++;
}
while (children->title)
{
GtkTreeIter child_iter;
gtk_tree_store_append (GTK_TREE_STORE (model), &child_iter, &iter);
gtk_tree_store_set (GTK_TREE_STORE (model),
&child_iter,
TITLE_COLUMN, children->title,
FILENAME_COLUMN, children->filename,
FUNC_COLUMN, children->func,
STYLE_COLUMN, PANGO_STYLE_NORMAL,
-1);
children++;
}
}
cell = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Widget (double click for demo)",
cell,
"text", TITLE_COLUMN,
"style", STYLE_COLUMN,
NULL);
cell,
"text", TITLE_COLUMN,
"style", STYLE_COLUMN,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
GTK_TREE_VIEW_COLUMN (column));
gtk_tree_model_get_iter_first (GTK_TREE_MODEL (model), &iter);
gtk_tree_selection_select_iter (GTK_TREE_SELECTION (selection), &iter);
@@ -852,11 +852,11 @@ create_tree (void)
gtk_tree_view_collapse_all (GTK_TREE_VIEW (tree_view));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_NEVER,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view);
label = gtk_label_new ("Widget (double click for demo)");
@@ -895,21 +895,21 @@ setup_default_icon (void)
if (err)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (NULL, 0,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to read icon file: %s",
err->message);
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Failed to read icon file: %s",
err->message);
g_error_free (err);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
G_CALLBACK (gtk_widget_destroy), NULL);
}
if (pixbuf)
{
GList *list;
GList *list;
GdkPixbuf *transparent;
/* The gtk-logo-rgb icon has a white background, make it transparent */
@@ -931,7 +931,6 @@ main (int argc, char **argv)
GtkWidget *notebook;
GtkWidget *hbox;
GtkWidget *tree;
GtkTextTag *tag;
/* Most code in gtk-demo is intended to be exemplary, but not
* these few lines, which are just a hack so gtk-demo will work
@@ -944,15 +943,15 @@ main (int argc, char **argv)
g_setenv ("GTK_IM_MODULE_FILE", "../../modules/input/immodules.cache", TRUE);
}
/* -- End of hack -- */
gtk_init (&argc, &argv);
setup_default_icon ();
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "GTK+ Code Demos");
g_signal_connect_after (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
G_CALLBACK (gtk_main_quit), NULL);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);
@@ -964,48 +963,47 @@ main (int argc, char **argv)
gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&info_buffer, FALSE),
gtk_label_new_with_mnemonic ("_Info"));
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_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"));
create_text (&source_buffer, TRUE),
gtk_label_new_with_mnemonic ("_Source"));
tag = gtk_text_buffer_create_tag (source_buffer, "comment",
"foreground", "DodgerBlue",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "type",
"foreground", "ForestGreen",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "string",
"foreground", "RosyBrown",
"weight", PANGO_WEIGHT_BOLD,
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "control",
"foreground", "purple",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "preprocessor",
"style", PANGO_STYLE_OBLIQUE,
"foreground", "burlywood4",
NULL);
tag = gtk_text_buffer_create_tag (source_buffer, "function",
"weight", PANGO_WEIGHT_BOLD,
"foreground", "DarkGoldenrod4",
NULL);
g_object_unref (source_buffer);
gtk_text_buffer_create_tag (source_buffer, "comment",
"foreground", "DodgerBlue",
NULL);
gtk_text_buffer_create_tag (source_buffer, "type",
"foreground", "ForestGreen",
NULL);
gtk_text_buffer_create_tag (source_buffer, "string",
"foreground", "RosyBrown",
"weight", PANGO_WEIGHT_BOLD,
NULL);
gtk_text_buffer_create_tag (source_buffer, "control",
"foreground", "purple",
NULL);
gtk_text_buffer_create_tag (source_buffer, "preprocessor",
"style", PANGO_STYLE_OBLIQUE,
"foreground", "burlywood4",
NULL);
gtk_text_buffer_create_tag (source_buffer, "function",
"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);
load_file (testgtk_demos[0].filename);
gtk_main ();
return 0;

View File

@@ -31,7 +31,7 @@
static GtkWidget *
create_menu (gint depth,
gboolean tearoff)
gboolean tearoff)
{
GtkWidget *menu;
GtkWidget *menuitem;
@@ -61,7 +61,7 @@ create_menu (gint depth,
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
gtk_widget_show (menuitem);
if (i == 3)
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (depth - 1, TRUE));
}
@@ -74,47 +74,17 @@ change_orientation (GtkWidget *button,
GtkWidget *menubar)
{
GtkWidget *parent;
GtkWidget *box = NULL;
GtkOrientation orientation;
parent = gtk_widget_get_parent (menubar);
orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (parent));
gtk_orientable_set_orientation (GTK_ORIENTABLE (parent), 1 - orientation);
if (GTK_IS_VBOX (parent))
{
box = gtk_widget_get_parent (parent);
g_object_ref (menubar);
gtk_container_remove (GTK_CONTAINER (parent), menubar);
gtk_container_add (GTK_CONTAINER (box), menubar);
gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
g_object_unref (menubar);
g_object_set (menubar,
"pack-direction", GTK_PACK_DIRECTION_TTB,
NULL);
}
if (orientation == GTK_ORIENTATION_VERTICAL)
g_object_set (menubar, "pack-direction", GTK_PACK_DIRECTION_TTB, NULL);
else
{
GList *children, *l;
g_object_set (menubar, "pack-direction", GTK_PACK_DIRECTION_LTR, NULL);
children = gtk_container_get_children (GTK_CONTAINER (parent));
for (l = children; l; l = l->next)
{
if (GTK_IS_VBOX (l->data))
{
box = l->data;
break;
}
}
g_list_free (children);
g_object_ref (menubar);
gtk_container_remove (GTK_CONTAINER (parent), menubar);
gtk_container_add (GTK_CONTAINER (box), menubar);
gtk_box_reorder_child (GTK_BOX (box), menubar, 0);
g_object_unref (menubar);
g_object_set (menubar,
"pack-direction", GTK_PACK_DIRECTION_LTR,
NULL);
}
}
static GtkWidget *window = NULL;
@@ -136,10 +106,10 @@ do_menus (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Menus");
g_signal_connect (window, "destroy",
G_CALLBACK(gtk_widget_destroyed), &window);
G_CALLBACK(gtk_widget_destroyed), &window);
accel_group = gtk_accel_group_new ();
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
@@ -172,7 +142,6 @@ do_menus (GtkWidget *do_widget)
menuitem = gtk_menu_item_new_with_label ("bar");
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), create_menu (4, TRUE));
gtk_menu_item_set_right_justified (GTK_MENU_ITEM (menuitem), TRUE);
gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem);
gtk_widget_show (menuitem);
@@ -183,13 +152,13 @@ do_menus (GtkWidget *do_widget)
button = gtk_button_new_with_label ("Flip");
g_signal_connect (button, "clicked",
G_CALLBACK (change_orientation), menubar);
G_CALLBACK (change_orientation), menubar);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
gtk_widget_show (button);
button = gtk_button_new_with_label ("Close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK(gtk_widget_destroy), window);
G_CALLBACK(gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
gtk_widget_set_can_default (button, TRUE);
gtk_widget_grab_default (button);

View File

@@ -230,7 +230,7 @@ gtk_rotated_bin_realize (GtkWidget *widget)
{
GtkRotatedBin *bin = GTK_ROTATED_BIN (widget);
GtkAllocation allocation;
GtkStyle *style;
GtkStyleContext *context;
GdkWindow *window;
GdkWindowAttr attributes;
gint attributes_mask;
@@ -290,10 +290,9 @@ gtk_rotated_bin_realize (GtkWidget *widget)
g_signal_connect (bin->offscreen_window, "from-embedder",
G_CALLBACK (offscreen_window_from_parent), bin);
gtk_widget_style_attach (widget);
style = gtk_widget_get_style (widget);
gtk_style_set_background (style, window, GTK_STATE_NORMAL);
gtk_style_set_background (style, bin->offscreen_window, GTK_STATE_NORMAL);
context = gtk_widget_get_style_context (widget);
gtk_style_context_set_background (context, window);
gtk_style_context_set_background (context, bin->offscreen_window);
gdk_window_show (bin->offscreen_window);
}
@@ -542,12 +541,11 @@ gtk_rotated_bin_draw (GtkWidget *widget,
}
if (gtk_cairo_should_draw_window (cr, bin->offscreen_window))
{
gtk_paint_flat_box (gtk_widget_get_style (widget), cr,
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
widget, "blah",
0, 0,
gdk_window_get_width (bin->offscreen_window),
gdk_window_get_height (bin->offscreen_window));
gtk_render_background (gtk_widget_get_style_context (widget),
cr,
0, 0,
gdk_window_get_width (bin->offscreen_window),
gdk_window_get_height (bin->offscreen_window));
if (bin->child)
gtk_container_propagate_draw (GTK_CONTAINER (widget),
@@ -575,7 +573,7 @@ do_offscreen_window (GtkWidget *do_widget)
if (!window)
{
GtkWidget *bin, *vbox, *scale, *button;
GdkColor black;
GdkRGBA black;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
@@ -585,8 +583,8 @@ do_offscreen_window (GtkWidget *do_widget)
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gdk_color_parse ("black", &black);
gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &black);
gdk_rgba_parse (&black, "black");
gtk_widget_override_background_color (window, 0, &black);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
@@ -615,4 +613,3 @@ do_offscreen_window (GtkWidget *do_widget)
return window;
}

View File

@@ -168,7 +168,7 @@ gtk_mirror_bin_realize (GtkWidget *widget)
{
GtkMirrorBin *bin = GTK_MIRROR_BIN (widget);
GtkAllocation allocation;
GtkStyle *style;
GtkStyleContext *context;
GdkWindow *window;
GdkWindowAttr attributes;
gint attributes_mask;
@@ -228,10 +228,9 @@ gtk_mirror_bin_realize (GtkWidget *widget)
g_signal_connect (bin->offscreen_window, "from-embedder",
G_CALLBACK (offscreen_window_from_parent), bin);
gtk_widget_style_attach (widget);
style = gtk_widget_get_style (widget);
gtk_style_set_background (style, window, GTK_STATE_NORMAL);
gtk_style_set_background (style, bin->offscreen_window, GTK_STATE_NORMAL);
context = gtk_widget_get_style_context (widget);
gtk_style_context_set_background (context, window);
gtk_style_context_set_background (context, bin->offscreen_window);
gdk_window_show (bin->offscreen_window);
}
@@ -451,12 +450,11 @@ gtk_mirror_bin_draw (GtkWidget *widget,
}
else if (gtk_cairo_should_draw_window (cr, bin->offscreen_window))
{
gtk_paint_flat_box (gtk_widget_get_style (widget), cr,
GTK_STATE_NORMAL, GTK_SHADOW_NONE,
widget, "blah",
0, 0,
gdk_window_get_width (bin->offscreen_window),
gdk_window_get_height (bin->offscreen_window));
gtk_render_background (gtk_widget_get_style_context (widget),
cr,
0, 0,
gdk_window_get_width (bin->offscreen_window),
gdk_window_get_height (bin->offscreen_window));
if (bin->child)
gtk_container_propagate_draw (GTK_CONTAINER (widget),
@@ -526,4 +524,3 @@ do_offscreen_window2 (GtkWidget *do_widget)
return window;
}

181
demos/gtk-demo/overlay.c Normal file
View File

@@ -0,0 +1,181 @@
/* Overlay
*
* Stack widgets in static positions over a main widget
*/
#include <gtk/gtk.h>
GtkWidget *
do_overlay (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *view;
GtkWidget *sw;
GtkWidget *overlay;
GtkWidget *entry;
GtkWidget *label;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_default_size (GTK_WINDOW (window),
450, 450);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_title (GTK_WINDOW (window), "Overlay");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
view = gtk_text_view_new ();
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add (GTK_CONTAINER (sw), view);
overlay = gtk_overlay_new ();
gtk_container_add (GTK_CONTAINER (overlay), sw);
gtk_container_add (GTK_CONTAINER (window), overlay);
entry = gtk_entry_new ();
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
gtk_widget_set_halign (entry, GTK_ALIGN_END);
gtk_widget_set_valign (entry, GTK_ALIGN_END);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_widget_set_valign (label, GTK_ALIGN_END);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_START);
gtk_widget_set_valign (entry, GTK_ALIGN_END);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_END);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_END);
gtk_widget_set_valign (entry, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_widget_set_valign (label, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_START);
gtk_widget_set_valign (entry, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_END);
gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_END);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_START);
gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_CENTER);
gtk_widget_set_valign (entry, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
gtk_widget_set_valign (label, GTK_ALIGN_START);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 20);
gtk_widget_set_margin_right (label, 20);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_CENTER);
gtk_widget_set_valign (entry, GTK_ALIGN_END);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
gtk_widget_set_valign (label, GTK_ALIGN_END);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_set_margin_left (label, 10);
gtk_widget_set_margin_right (label, 10);
gtk_widget_set_margin_top (label, 5);
gtk_widget_set_margin_bottom (label, 5);
entry = gtk_entry_new ();
gtk_widget_set_halign (entry, GTK_ALIGN_CENTER);
gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), entry);
label = gtk_label_new ("Hello world");
gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), label);
gtk_widget_show_all (overlay);
}
if (!gtk_widget_get_visible (window))
{
gtk_widget_show (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -15,7 +15,7 @@
void
toggle_resize (GtkWidget *widget,
GtkWidget *child)
GtkWidget *child)
{
GtkWidget *parent;
GtkPaned *paned;
@@ -43,7 +43,7 @@ toggle_resize (GtkWidget *widget,
void
toggle_shrink (GtkWidget *widget,
GtkWidget *child)
GtkWidget *child)
{
GtkWidget *parent;
GtkPaned *paned;
@@ -70,10 +70,10 @@ toggle_shrink (GtkWidget *widget,
}
GtkWidget *
create_pane_options (GtkPaned *paned,
const gchar *frame_label,
const gchar *label1,
const gchar *label2)
create_pane_options (GtkPaned *paned,
const gchar *frame_label,
const gchar *label1,
const gchar *label2)
{
GtkWidget *child1, *child2;
GtkWidget *frame;
@@ -86,47 +86,38 @@ create_pane_options (GtkPaned *paned,
frame = gtk_frame_new (frame_label);
gtk_container_set_border_width (GTK_CONTAINER (frame), 4);
table = gtk_table_new (3, 2, TRUE);
table = gtk_grid_new ();
gtk_container_add (GTK_CONTAINER (frame), table);
label = gtk_label_new (label1);
gtk_table_attach_defaults (GTK_TABLE (table), label,
0, 1, 0, 1);
gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
check_button = gtk_check_button_new_with_mnemonic ("_Resize");
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
0, 1, 1, 2);
gtk_grid_attach (GTK_GRID (table), check_button, 0, 1, 1, 1);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_resize), child1);
G_CALLBACK (toggle_resize), child1);
check_button = gtk_check_button_new_with_mnemonic ("_Shrink");
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
0, 1, 2, 3);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
gtk_grid_attach (GTK_GRID (table), check_button, 0, 2, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_shrink), child1);
G_CALLBACK (toggle_shrink), child1);
label = gtk_label_new (label2);
gtk_table_attach_defaults (GTK_TABLE (table), label,
1, 2, 0, 1);
gtk_grid_attach (GTK_GRID (table), label, 1, 0, 1, 1);
check_button = gtk_check_button_new_with_mnemonic ("_Resize");
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
1, 2, 1, 2);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
gtk_grid_attach (GTK_GRID (table), check_button, 1, 1, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_resize), child2);
G_CALLBACK (toggle_resize), child2);
check_button = gtk_check_button_new_with_mnemonic ("_Shrink");
gtk_table_attach_defaults (GTK_TABLE (table), check_button,
1, 2, 2, 3);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
TRUE);
gtk_grid_attach (GTK_GRID (table), check_button, 1, 2, 1, 1);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_shrink), child2);
G_CALLBACK (toggle_shrink), child2);
return frame;
}
@@ -145,10 +136,10 @@ do_panes (GtkWidget *do_widget)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_title (GTK_WINDOW (window), "Panes");
gtk_container_set_border_width (GTK_CONTAINER (window), 0);
@@ -167,7 +158,7 @@ do_panes (GtkWidget *do_widget)
gtk_frame_set_shadow_type (GTK_FRAME(frame), GTK_SHADOW_IN);
gtk_widget_set_size_request (frame, 60, 60);
gtk_paned_add1 (GTK_PANED (hpaned), frame);
button = gtk_button_new_with_mnemonic ("_Hi there");
gtk_container_add (GTK_CONTAINER(frame), button);
@@ -184,18 +175,18 @@ do_panes (GtkWidget *do_widget)
/* Now create toggle buttons to control sizing */
gtk_box_pack_start (GTK_BOX (vbox),
create_pane_options (GTK_PANED (hpaned),
"Horizontal",
"Left",
"Right"),
FALSE, FALSE, 0);
create_pane_options (GTK_PANED (hpaned),
"Horizontal",
"Left",
"Right"),
FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
create_pane_options (GTK_PANED (vpaned),
"Vertical",
"Top",
"Bottom"),
FALSE, FALSE, 0);
create_pane_options (GTK_PANED (vpaned),
"Vertical",
"Top",
"Bottom"),
FALSE, FALSE, 0);
gtk_widget_show_all (vbox);
}

View File

@@ -1,7 +1,7 @@
/* Pickers
/* Pickers
*
* These widgets are mainly intended for use in preference dialogs.
* They allow to select colors, fonts, files and directories.
* They allow to select colors, fonts, files, directories and applications.
*/
#include <gtk/gtk.h>
@@ -18,45 +18,61 @@ do_pickers (GtkWidget *do_widget)
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Pickers");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
table = gtk_table_new (4, 2, FALSE);
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 10);
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
table = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (table), 3);
gtk_grid_set_column_spacing (GTK_GRID (table), 10);
gtk_container_add (GTK_CONTAINER (window), table);
gtk_container_set_border_width (GTK_CONTAINER (table), 10);
label = gtk_label_new ("Color:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (label, TRUE);
picker = gtk_color_button_new ();
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 0, 1);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 0, 1);
gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
gtk_grid_attach (GTK_GRID (table), picker, 1, 0, 1, 1);
label = gtk_label_new ("Font:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (label, TRUE);
picker = gtk_font_button_new ();
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 1, 2);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 1, 2);
gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
gtk_grid_attach (GTK_GRID (table), picker, 1, 1, 1, 1);
label = gtk_label_new ("File:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a File",
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (label, TRUE);
picker = gtk_file_chooser_button_new ("Pick a File",
GTK_FILE_CHOOSER_ACTION_OPEN);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 2, 3);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 2, 3);
gtk_grid_attach (GTK_GRID (table), label, 0, 2, 1, 1);
gtk_grid_attach (GTK_GRID (table), picker, 1, 2, 1, 1);
label = gtk_label_new ("Folder:");
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
picker = gtk_file_chooser_button_new ("Pick a Folder",
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
picker = gtk_file_chooser_button_new ("Pick a Folder",
GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, 3, 4);
gtk_table_attach_defaults (GTK_TABLE (table), picker, 1, 2, 3, 4);
gtk_grid_attach (GTK_GRID (table), label, 0, 3, 1, 1);
gtk_grid_attach (GTK_GRID (table), picker, 1, 3, 1, 1);
label = gtk_label_new ("Mail:");
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (label, TRUE);
picker = gtk_app_chooser_button_new ("x-scheme-handler/mailto");
gtk_app_chooser_button_set_show_dialog_item (GTK_APP_CHOOSER_BUTTON (picker), TRUE);
gtk_grid_attach (GTK_GRID (table), label, 0, 4, 1, 1);
gtk_grid_attach (GTK_GRID (table), picker, 1, 4, 1, 1);
}
if (!gtk_widget_get_visible (window))
@@ -64,7 +80,7 @@ do_pickers (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -71,7 +71,7 @@ load_pixbufs (GError **error)
background = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!background)
return FALSE; /* Note that "error" was filled with a GError */
@@ -83,10 +83,10 @@ load_pixbufs (GError **error)
filename = demo_find_file (image_names[i], error);
if (!filename)
return FALSE; /* Note that "error" was filled with a GError */
images[i] = gdk_pixbuf_new_from_file (filename, error);
g_free (filename);
if (!images[i])
return FALSE; /* Note that "error" was filled with a GError */
}

View File

@@ -26,8 +26,8 @@ typedef struct
static void
begin_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
GtkPrintContext *context,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
char *contents;
@@ -55,9 +55,9 @@ begin_print (GtkPrintOperation *operation,
static void
draw_page (GtkPrintOperation *operation,
GtkPrintContext *context,
gint page_nr,
gpointer user_data)
GtkPrintContext *context,
gint page_nr,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
cairo_t *cr;
@@ -132,8 +132,8 @@ draw_page (GtkPrintOperation *operation,
static void
end_print (GtkPrintOperation *operation,
GtkPrintContext *context,
gpointer user_data)
GtkPrintContext *context,
gpointer user_data)
{
PrintData *data = (PrintData *)user_data;
@@ -159,11 +159,11 @@ do_printing (GtkWidget *do_widget)
data->font_size = 12.0;
g_signal_connect (G_OBJECT (operation), "begin-print",
G_CALLBACK (begin_print), data);
G_CALLBACK (begin_print), data);
g_signal_connect (G_OBJECT (operation), "draw-page",
G_CALLBACK (draw_page), data);
G_CALLBACK (draw_page), data);
g_signal_connect (G_OBJECT (operation), "end-print",
G_CALLBACK (end_print), data);
G_CALLBACK (end_print), data);
gtk_print_operation_set_use_full_page (operation, FALSE);
gtk_print_operation_set_unit (operation, GTK_UNIT_POINTS);
@@ -195,14 +195,14 @@ do_printing (GtkWidget *do_widget)
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (do_widget),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error->message);
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", error->message);
g_error_free (error);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}

View File

@@ -18,17 +18,17 @@ const char text[] = "I ♥ GTK+";
static void
fancy_shape_renderer (cairo_t *cr,
PangoAttrShape *attr,
gboolean do_path,
gpointer data)
PangoAttrShape *attr,
gboolean do_path,
gpointer data)
{
double x, y;
cairo_get_current_point (cr, &x, &y);
cairo_translate (cr, x, y);
cairo_scale (cr,
(double) attr->ink_rect.width / PANGO_SCALE,
(double) attr->ink_rect.height / PANGO_SCALE);
(double) attr->ink_rect.width / PANGO_SCALE,
(double) attr->ink_rect.height / PANGO_SCALE);
switch (GPOINTER_TO_UINT (attr->data))
{
@@ -36,9 +36,9 @@ fancy_shape_renderer (cairo_t *cr,
{
cairo_move_to (cr, .5, .0);
cairo_line_to (cr, .9, -.4);
cairo_curve_to (cr, 1.1, -.8, .5, -.9, .5, -.5);
cairo_curve_to (cr, .5, -.9, -.1, -.8, .1, -.4);
cairo_close_path (cr);
cairo_curve_to (cr, 1.1, -.8, .5, -.9, .5, -.5);
cairo_curve_to (cr, .5, -.9, -.1, -.8, .1, -.4);
cairo_close_path (cr);
}
break;
}
@@ -60,8 +60,8 @@ create_fancy_attr_list_for_layout (PangoLayout *layout)
/* Get font metrics and prepare fancy shape size */
metrics = pango_context_get_metrics (pango_layout_get_context (layout),
pango_layout_get_font_description (layout),
NULL);
pango_layout_get_font_description (layout),
NULL);
ascent = pango_font_metrics_get_ascent (metrics);
logical_rect.x = 0;
logical_rect.width = ascent;
@@ -75,11 +75,11 @@ create_fancy_attr_list_for_layout (PangoLayout *layout)
for (p = text; (p = strstr (p, HEART)); p += strlen (HEART))
{
PangoAttribute *attr;
attr = pango_attr_shape_new_with_data (&ink_rect,
&logical_rect,
GUINT_TO_POINTER (g_utf8_get_char (p)),
NULL, NULL);
&logical_rect,
GUINT_TO_POINTER (g_utf8_get_char (p)),
NULL, NULL);
attr->start_index = p - text;
attr->end_index = attr->start_index + strlen (HEART);
@@ -93,7 +93,7 @@ create_fancy_attr_list_for_layout (PangoLayout *layout)
static gboolean
rotated_text_draw (GtkWidget *widget,
cairo_t *cr,
gpointer data)
gpointer data)
{
#define RADIUS 150
#define N_WORDS 5
@@ -119,8 +119,8 @@ rotated_text_draw (GtkWidget *widget,
height = gtk_widget_get_allocated_height (widget);
device_radius = MIN (width, height) / 2.;
cairo_translate (cr,
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
device_radius + (width - 2 * device_radius) / 2,
device_radius + (height - 2 * device_radius) / 2);
cairo_scale (cr, device_radius / RADIUS, device_radius / RADIUS);
/* Create and a subtle gradient source and use it. */
@@ -132,8 +132,8 @@ rotated_text_draw (GtkWidget *widget,
/* Create a PangoContext and set up our shape renderer */
context = gtk_widget_create_pango_context (widget);
pango_cairo_context_set_shape_renderer (context,
fancy_shape_renderer,
NULL, NULL);
fancy_shape_renderer,
NULL, NULL);
/* Create a PangoLayout, set the text, font, and attributes */
layout = pango_layout_new (context);
@@ -152,7 +152,7 @@ rotated_text_draw (GtkWidget *widget,
/* Inform Pango to re-layout the text with the new transformation matrix */
pango_cairo_update_layout (cr, layout);
pango_layout_get_pixel_size (layout, &width, &height);
cairo_move_to (cr, - width / 2, - RADIUS * .9);
pango_cairo_show_layout (cr, layout);
@@ -166,7 +166,7 @@ rotated_text_draw (GtkWidget *widget,
g_object_unref (layout);
g_object_unref (context);
cairo_pattern_destroy (pattern);
return FALSE;
}
@@ -181,11 +181,11 @@ do_rotated_text (GtkWidget *do_widget)
PangoLayout *layout;
PangoAttrList *attrs;
const GdkColor white = { 0, 0xffff, 0xffff, 0xffff };
const GdkRGBA white = { 1.0, 1.0, 1.0, 1.0 };
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Rotated Text");
gtk_window_set_default_size (GTK_WINDOW (window), 4 * RADIUS, 2 * RADIUS);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window);
@@ -200,10 +200,10 @@ do_rotated_text (GtkWidget *do_widget)
gtk_container_add (GTK_CONTAINER (box), drawing_area);
/* This overrides the background color from the theme */
gtk_widget_modify_bg (drawing_area, GTK_STATE_NORMAL, &white);
gtk_widget_override_background_color (drawing_area, 0, &white);
g_signal_connect (drawing_area, "draw",
G_CALLBACK (rotated_text_draw), NULL);
G_CALLBACK (rotated_text_draw), NULL);
/* And a label */
@@ -215,8 +215,8 @@ do_rotated_text (GtkWidget *do_widget)
/* Set up fancy stuff on the label */
layout = gtk_label_get_layout (GTK_LABEL (label));
pango_cairo_context_set_shape_renderer (pango_layout_get_context (layout),
fancy_shape_renderer,
NULL, NULL);
fancy_shape_renderer,
NULL, NULL);
attrs = create_fancy_attr_list_for_layout (layout);
gtk_label_set_attributes (GTK_LABEL (label), attrs);
pango_attr_list_unref (attrs);

View File

@@ -93,6 +93,7 @@ search_by_name (GtkWidget *item,
GTK_ENTRY_ICON_PRIMARY,
"Search by name\n"
"Click here to change the search type");
gtk_entry_set_placeholder_text (entry, "name");
}
static void
@@ -106,6 +107,7 @@ search_by_description (GtkWidget *item,
GTK_ENTRY_ICON_PRIMARY,
"Search by description\n"
"Click here to change the search type");
gtk_entry_set_placeholder_text (entry, "description");
}
static void
@@ -119,6 +121,7 @@ search_by_file (GtkWidget *item,
GTK_ENTRY_ICON_PRIMARY,
"Search by file name\n"
"Click here to change the search type");
gtk_entry_set_placeholder_text (entry, "file name");
}
GtkWidget *
@@ -246,6 +249,7 @@ do_search_entry (GtkWidget *do_widget)
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *entry;
GtkWidget *button;
GtkWidget *find_button;
GtkWidget *cancel_button;
@@ -323,6 +327,10 @@ do_search_entry (GtkWidget *do_widget)
/* add accessible alternatives for icon functionality */
g_signal_connect (entry, "populate-popup",
G_CALLBACK (entry_populate_popup), NULL);
/* Give the focus to the close button */
button = gtk_dialog_get_widget_for_response (GTK_DIALOG (window), GTK_RESPONSE_NONE);
gtk_widget_grab_focus (button);
}
if (!gtk_widget_get_visible (window))

View File

@@ -2,9 +2,9 @@
*
* GtkSizeGroup provides a mechanism for grouping a number of
* widgets together so they all request the same amount of space.
* This is typically useful when you want a column of widgets to
* This is typically useful when you want a column of widgets to
* have the same size, but you can't use a GtkTable widget.
*
*
* Note that size groups only affect the amount of space requested,
* not the size that the widgets finally receive. If you want the
* widgets in a GtkSizeGroup to actually be the same size, you need
@@ -26,7 +26,7 @@ create_combo_box (const char **strings)
const char **str;
combo_box = gtk_combo_box_text_new ();
for (str = strings; *str; str++)
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), *str);
@@ -36,34 +36,30 @@ create_combo_box (const char **strings)
}
static void
add_row (GtkTable *table,
int row,
GtkSizeGroup *size_group,
const char *label_text,
const char **options)
add_row (GtkGrid *table,
int row,
GtkSizeGroup *size_group,
const char *label_text,
const char **options)
{
GtkWidget *combo_box;
GtkWidget *label;
label = gtk_label_new_with_mnemonic (label_text);
gtk_misc_set_alignment (GTK_MISC (label), 0, 1);
gtk_table_attach (GTK_TABLE (table), label,
0, 1, row, row + 1,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
gtk_widget_set_halign (label, GTK_ALIGN_START);
gtk_widget_set_valign (label, GTK_ALIGN_END);
gtk_widget_set_hexpand (label, TRUE);
gtk_grid_attach (table, label, 0, row, 1, 1);
combo_box = create_combo_box (options);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo_box);
gtk_size_group_add_widget (size_group, combo_box);
gtk_table_attach (GTK_TABLE (table), combo_box,
1, 2, row, row + 1,
0, 0,
0, 0);
gtk_grid_attach (table, combo_box, 1, row, 1, 1);
}
static void
toggle_grouping (GtkToggleButton *check_button,
GtkSizeGroup *size_group)
GtkSizeGroup *size_group)
{
GtkSizeGroupMode new_mode;
@@ -75,7 +71,7 @@ toggle_grouping (GtkToggleButton *check_button,
new_mode = GTK_SIZE_GROUP_HORIZONTAL;
else
new_mode = GTK_SIZE_GROUP_NONE;
gtk_size_group_set_mode (size_group, new_mode);
}
@@ -92,29 +88,29 @@ do_sizegroup (GtkWidget *do_widget)
static const char *color_options[] = {
"Red", "Green", "Blue", NULL
};
static const char *dash_options[] = {
"Solid", "Dashed", "Dotted", NULL
};
static const char *end_options[] = {
"Square", "Round", "Arrow", NULL
};
if (!window)
{
window = gtk_dialog_new_with_buttons ("GtkSizeGroup",
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
GTK_WINDOW (do_widget),
0,
GTK_STOCK_CLOSE,
GTK_RESPONSE_NONE,
NULL);
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (window));
@@ -123,42 +119,40 @@ do_sizegroup (GtkWidget *do_widget)
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
/* Create one frame holding color options
*/
/* Create one frame holding color options */
frame = gtk_frame_new ("Color Options");
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
table = gtk_table_new (2, 2, FALSE);
table = gtk_grid_new ();
gtk_container_set_border_width (GTK_CONTAINER (table), 5);
gtk_table_set_row_spacings (GTK_TABLE (table), 5);
gtk_table_set_col_spacings (GTK_TABLE (table), 10);
gtk_grid_set_row_spacing (GTK_GRID (table), 5);
gtk_grid_set_column_spacing (GTK_GRID (table), 10);
gtk_container_add (GTK_CONTAINER (frame), table);
add_row (GTK_TABLE (table), 0, size_group, "_Foreground", color_options);
add_row (GTK_TABLE (table), 1, size_group, "_Background", color_options);
add_row (GTK_GRID (table), 0, size_group, "_Foreground", color_options);
add_row (GTK_GRID (table), 1, size_group, "_Background", color_options);
/* And another frame holding line style options
*/
/* And another frame holding line style options */
frame = gtk_frame_new ("Line Options");
gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
table = gtk_table_new (2, 2, FALSE);
table = gtk_grid_new ();
gtk_container_set_border_width (GTK_CONTAINER (table), 5);
gtk_table_set_row_spacings (GTK_TABLE (table), 5);
gtk_table_set_col_spacings (GTK_TABLE (table), 10);
gtk_grid_set_row_spacing (GTK_GRID (table), 5);
gtk_grid_set_column_spacing (GTK_GRID (table), 10);
gtk_container_add (GTK_CONTAINER (frame), table);
add_row (GTK_TABLE (table), 0, size_group, "_Dashing", dash_options);
add_row (GTK_TABLE (table), 1, size_group, "_Line ends", end_options);
add_row (GTK_GRID (table), 0, size_group, "_Dashing", dash_options);
add_row (GTK_GRID (table), 1, size_group, "_Line ends", end_options);
/* And a check button to turn grouping on and off */
check_button = gtk_check_button_new_with_mnemonic ("_Enable grouping");
gtk_box_pack_start (GTK_BOX (vbox), check_button, FALSE, FALSE, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button), TRUE);
g_signal_connect (check_button, "toggled",
G_CALLBACK (toggle_grouping), size_group);
G_CALLBACK (toggle_grouping), size_group);
}
if (!gtk_widget_get_visible (window))

View File

@@ -93,5 +93,3 @@ do_spinner (GtkWidget *do_widget)
return window;
}

View File

@@ -35,7 +35,7 @@ stock_item_info_free (StockItemInfo *info)
g_free (info->accel_str);
if (info->small_icon)
g_object_unref (info->small_icon);
g_free (info);
}
@@ -48,7 +48,7 @@ stock_item_info_copy (StockItemInfo *src)
info->id = g_strdup (src->id);
info->macro = g_strdup (src->macro);
info->accel_str = g_strdup (src->accel_str);
info->item = src->item;
info->small_icon = src->small_icon;
@@ -82,9 +82,9 @@ id_to_macro (const gchar *id)
/* gtk-foo-bar -> GTK_STOCK_FOO_BAR */
macro = g_string_new (NULL);
cp = id;
if (strncmp (cp, "gtk-", 4) == 0)
{
g_string_append (macro, "GTK_STOCK_");
@@ -94,11 +94,11 @@ id_to_macro (const gchar *id)
while (*cp)
{
if (*cp == '-')
g_string_append_c (macro, '_');
g_string_append_c (macro, '_');
else if (g_ascii_islower (*cp))
g_string_append_c (macro, g_ascii_toupper (*cp));
g_string_append_c (macro, g_ascii_toupper (*cp));
else
g_string_append_c (macro, *cp);
g_string_append_c (macro, *cp);
cp++;
}
@@ -112,7 +112,7 @@ create_model (void)
GtkListStore *store;
GSList *ids;
GSList *tmp_list;
store = gtk_list_store_new (2, STOCK_ITEM_INFO_TYPE, G_TYPE_STRING);
ids = gtk_stock_list_ids ();
@@ -124,9 +124,9 @@ create_model (void)
GtkStockItem item;
GtkTreeIter iter;
GtkIconSet *icon_set;
info.id = tmp_list->data;
if (gtk_stock_lookup (info.id, &item))
{
info.item = item;
@@ -165,19 +165,19 @@ create_model (void)
++i;
}
g_free (sizes);
info.small_icon = gtk_widget_render_icon (window, info.id,
size,
NULL);
info.small_icon = gtk_widget_render_icon_pixbuf (window,
info.id,
size);
if (size != GTK_ICON_SIZE_MENU)
{
/* Make the result the proper size for our thumbnail */
gint w, h;
GdkPixbuf *scaled;
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &w, &h);
scaled = gdk_pixbuf_scale_simple (info.small_icon,
w, h,
GDK_INTERP_BILINEAR);
@@ -200,7 +200,7 @@ create_model (void)
}
info.macro = id_to_macro (info.id);
gtk_list_store_append (store, &iter);
gtk_list_store_set (store, &iter, 0, &info, 1, info.id, -1);
@@ -208,10 +208,10 @@ create_model (void)
g_free (info.accel_str);
if (info.small_icon)
g_object_unref (info.small_icon);
tmp_list = g_slist_next (tmp_list);
}
g_slist_foreach (ids, (GFunc)g_free, NULL);
g_slist_free (ids);
@@ -235,16 +235,16 @@ get_largest_size (const char *id)
for (i = 0; i < n_sizes; i++)
{
gint width, height;
gtk_icon_size_lookup (sizes[i], &width, &height);
if (width * height > best_pixels)
{
best_size = sizes[i];
best_pixels = width * height;
}
{
best_size = sizes[i];
best_pixels = width * height;
}
}
g_free (sizes);
return best_size;
@@ -257,7 +257,7 @@ selection_changed (GtkTreeSelection *selection)
StockItemDisplay *display;
GtkTreeModel *model;
GtkTreeIter iter;
treeview = gtk_tree_selection_get_tree_view (selection);
display = g_object_get_data (G_OBJECT (treeview), "stock-display");
@@ -265,7 +265,7 @@ selection_changed (GtkTreeSelection *selection)
{
StockItemInfo *info;
gchar *str;
gtk_tree_model_get (model, &iter,
0, &info,
-1);
@@ -313,21 +313,21 @@ selection_changed (GtkTreeSelection *selection)
static void
macro_set_func_text (GtkTreeViewColumn *tree_column,
GtkCellRenderer *cell,
GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
GtkCellRenderer *cell,
GtkTreeModel *model,
GtkTreeIter *iter,
gpointer data)
{
StockItemInfo *info;
gtk_tree_model_get (model, iter,
0, &info,
-1);
g_object_set (GTK_CELL_RENDERER (cell),
"text", info->macro,
NULL);
stock_item_info_free (info);
}
@@ -339,15 +339,15 @@ id_set_func (GtkTreeViewColumn *tree_column,
gpointer data)
{
StockItemInfo *info;
gtk_tree_model_get (model, iter,
0, &info,
-1);
g_object_set (GTK_CELL_RENDERER (cell),
"text", info->id,
NULL);
stock_item_info_free (info);
}
@@ -359,15 +359,15 @@ accel_set_func (GtkTreeViewColumn *tree_column,
gpointer data)
{
StockItemInfo *info;
gtk_tree_model_get (model, iter,
0, &info,
-1);
g_object_set (GTK_CELL_RENDERER (cell),
"text", info->accel_str,
NULL);
stock_item_info_free (info);
}
@@ -379,21 +379,21 @@ label_set_func (GtkTreeViewColumn *tree_column,
gpointer data)
{
StockItemInfo *info;
gtk_tree_model_get (model, iter,
0, &info,
-1);
g_object_set (GTK_CELL_RENDERER (cell),
"text", info->item.label,
NULL);
stock_item_info_free (info);
}
GtkWidget *
do_stock_browser (GtkWidget *do_widget)
{
{
if (!window)
{
GtkWidget *frame;
@@ -401,7 +401,6 @@ do_stock_browser (GtkWidget *do_widget)
GtkWidget *hbox;
GtkWidget *sw;
GtkWidget *treeview;
GtkWidget *align;
GtkTreeModel *model;
GtkCellRenderer *cell_renderer;
StockItemDisplay *display;
@@ -410,7 +409,7 @@ do_stock_browser (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Stock Icons and Items");
gtk_window_set_default_size (GTK_WINDOW (window), -1, 500);
@@ -427,31 +426,31 @@ do_stock_browser (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (hbox), sw, FALSE, FALSE, 0);
model = create_model ();
treeview = gtk_tree_view_new_with_model (model);
g_object_unref (model);
gtk_container_add (GTK_CONTAINER (sw), treeview);
column = gtk_tree_view_column_new ();
gtk_tree_view_column_set_title (column, "Macro");
cell_renderer = gtk_cell_renderer_pixbuf_new ();
gtk_tree_view_column_pack_start (column,
cell_renderer,
FALSE);
cell_renderer,
FALSE);
gtk_tree_view_column_set_attributes (column, cell_renderer,
"stock_id", 1, NULL);
"stock_id", 1, NULL);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column,
cell_renderer,
TRUE);
cell_renderer,
TRUE);
gtk_tree_view_column_set_cell_data_func (column, cell_renderer,
macro_set_func_text, NULL, NULL);
macro_set_func_text, NULL, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview),
column);
column);
cell_renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_insert_column_with_data_func (GTK_TREE_VIEW (treeview),
@@ -479,12 +478,10 @@ do_stock_browser (GtkWidget *do_widget)
id_set_func,
NULL,
NULL);
align = gtk_alignment_new (0.5, 0.0, 0.0, 0.0);
gtk_box_pack_end (GTK_BOX (hbox), align, FALSE, FALSE, 0);
frame = gtk_frame_new ("Selected Item");
gtk_container_add (GTK_CONTAINER (align), frame);
gtk_widget_set_valign (frame, GTK_ALIGN_START);
gtk_box_pack_end (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
@@ -495,7 +492,7 @@ do_stock_browser (GtkWidget *do_widget)
"stock-display",
display,
g_free); /* free display with treeview */
display->type_label = gtk_label_new (NULL);
display->macro_label = gtk_label_new (NULL);
display->id_label = gtk_label_new (NULL);
@@ -507,7 +504,7 @@ do_stock_browser (GtkWidget *do_widget)
gtk_box_pack_start (GTK_BOX (vbox), display->icon_image,
FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), display->label_accel_label,
FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), display->macro_label,
@@ -517,11 +514,11 @@ do_stock_browser (GtkWidget *do_widget)
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
g_signal_connect (selection,
"changed",
G_CALLBACK (selection_changed),
NULL);
"changed",
G_CALLBACK (selection_changed),
NULL);
}
if (!gtk_widget_get_visible (window))
@@ -529,7 +526,7 @@ do_stock_browser (GtkWidget *do_widget)
gtk_widget_show_all (window);
}
else
{
{
gtk_widget_destroy (window);
window = NULL;
}

View File

@@ -1,6 +1,6 @@
/* Text Widget/Automatic scrolling
*
* This example demonstrates how to use the gravity of
* This example demonstrates how to use the gravity of
* GtkTextMarks to keep a text view scrolled to the bottom
* while appending text.
*/
@@ -20,14 +20,14 @@ scroll_to_end (GtkTextView *textview)
static int count;
buffer = gtk_text_view_get_buffer (textview);
/* Get "end" mark. It's located at the end of buffer because
/* 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
/* 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++, ' ');
@@ -43,7 +43,7 @@ scroll_to_end (GtkTextView *textview)
*/
gtk_text_view_scroll_mark_onscreen (textview, mark);
/* Emulate typewriter behavior, shift to the left if we
/* Emulate typewriter behavior, shift to the left if we
* are far enough to the right.
*/
if (count > 150)
@@ -64,7 +64,7 @@ scroll_to_bottom (GtkTextView *textview)
static int count;
buffer = gtk_text_view_get_buffer (textview);
/* Get end iterator */
gtk_text_buffer_get_end_iter (buffer, &iter);
@@ -80,17 +80,17 @@ scroll_to_bottom (GtkTextView *textview)
-1);
g_free (spaces);
/* Move the iterator to the beginning of line, so we don't scroll
* in horizontal direction
/* 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);
@@ -114,30 +114,30 @@ setup_scroll (GtkTextView *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);
}
{
/* 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);
}
{
/* 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
@@ -163,7 +163,7 @@ create_text_view (GtkWidget *hbox,
timeout = setup_scroll (GTK_TEXT_VIEW (textview), to_end);
/* Remove the timeout in destroy handler, so we don't try to
* scroll destroyed widget.
* scroll destroyed widget.
*/
g_signal_connect (textview, "destroy",
G_CALLBACK (remove_timeout),
@@ -181,9 +181,9 @@ do_textscroll (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE);
gtk_container_add (GTK_CONTAINER (window), hbox);
@@ -193,9 +193,9 @@ do_textscroll (GtkWidget *do_widget)
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
gtk_widget_destroy (window);
return window;
}

View File

@@ -132,7 +132,6 @@ insert_text (GtkTextBuffer *buffer)
GtkTextIter start, end;
GdkPixbuf *pixbuf;
GdkPixbuf *scaled;
GtkTextChildAnchor *anchor;
char *filename;
/* demo_find_file() looks in the current directory first,
@@ -376,15 +375,15 @@ insert_text (GtkTextBuffer *buffer)
gtk_text_buffer_insert (buffer, &iter,
"You can put widgets in the buffer: Here's a button: ", -1);
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_insert (buffer, &iter, " and a menu: ", -1);
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_insert (buffer, &iter, " and a scale: ", -1);
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_insert (buffer, &iter, " and an animation: ", -1);
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_insert (buffer, &iter, " finally a text entry: ", -1);
anchor = gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_create_child_anchor (buffer, &iter);
gtk_text_buffer_insert (buffer, &iter, ".\n", -1);
gtk_text_buffer_insert (buffer, &iter,
@@ -561,8 +560,7 @@ recursive_attach_view (int depth,
{
GtkWidget *child_view;
GtkWidget *event_box;
GdkColor color;
GtkWidget *align;
GdkRGBA color;
if (depth > 4)
return;
@@ -571,14 +569,13 @@ recursive_attach_view (int depth,
/* Event box is to add a black border around each child view */
event_box = gtk_event_box_new ();
gdk_color_parse ("black", &color);
gtk_widget_modify_bg (event_box, GTK_STATE_NORMAL, &color);
gdk_rgba_parse (&color, "black");
gtk_widget_override_background_color (event_box, 0, &color);
align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0);
gtk_container_set_border_width (GTK_CONTAINER (align), 1);
gtk_widget_set_halign (child_view, GTK_ALIGN_FILL);
gtk_widget_set_valign (child_view, GTK_ALIGN_FILL);
gtk_container_add (GTK_CONTAINER (event_box), align);
gtk_container_add (GTK_CONTAINER (align), child_view);
gtk_container_add (GTK_CONTAINER (event_box), child_view);
gtk_text_view_add_child_at_anchor (view, event_box, anchor);
@@ -635,4 +632,3 @@ easter_egg_callback (GtkWidget *button,
gtk_widget_show_all (window);
}

View File

@@ -41,7 +41,7 @@ canvas_item_new (GtkWidget *widget,
GdkPixbuf *pixbuf;
stock_id = gtk_tool_button_get_stock_id (button);
pixbuf = gtk_widget_render_icon (widget, stock_id, GTK_ICON_SIZE_DIALOG, NULL);
pixbuf = gtk_widget_render_icon_pixbuf (widget, stock_id, GTK_ICON_SIZE_DIALOG);
if (pixbuf)
{

View File

@@ -170,14 +170,14 @@ create_model (void)
/* create tree store */
model = gtk_tree_store_new (NUM_COLUMNS,
G_TYPE_STRING,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN);
G_TYPE_STRING,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN);
/* add data to the tree store */
while (month->label)
@@ -186,35 +186,35 @@ create_model (void)
gtk_tree_store_append (model, &iter, NULL);
gtk_tree_store_set (model, &iter,
HOLIDAY_NAME_COLUMN, month->label,
ALEX_COLUMN, FALSE,
HAVOC_COLUMN, FALSE,
TIM_COLUMN, FALSE,
OWEN_COLUMN, FALSE,
DAVE_COLUMN, FALSE,
VISIBLE_COLUMN, FALSE,
WORLD_COLUMN, FALSE,
-1);
HOLIDAY_NAME_COLUMN, month->label,
ALEX_COLUMN, FALSE,
HAVOC_COLUMN, FALSE,
TIM_COLUMN, FALSE,
OWEN_COLUMN, FALSE,
DAVE_COLUMN, FALSE,
VISIBLE_COLUMN, FALSE,
WORLD_COLUMN, FALSE,
-1);
/* add children */
while (holiday->label)
{
GtkTreeIter child_iter;
{
GtkTreeIter child_iter;
gtk_tree_store_append (model, &child_iter, &iter);
gtk_tree_store_set (model, &child_iter,
HOLIDAY_NAME_COLUMN, holiday->label,
ALEX_COLUMN, holiday->alex,
HAVOC_COLUMN, holiday->havoc,
TIM_COLUMN, holiday->tim,
OWEN_COLUMN, holiday->owen,
DAVE_COLUMN, holiday->dave,
VISIBLE_COLUMN, TRUE,
WORLD_COLUMN, holiday->world_holiday,
-1);
gtk_tree_store_append (model, &child_iter, &iter);
gtk_tree_store_set (model, &child_iter,
HOLIDAY_NAME_COLUMN, holiday->label,
ALEX_COLUMN, holiday->alex,
HAVOC_COLUMN, holiday->havoc,
TIM_COLUMN, holiday->tim,
OWEN_COLUMN, holiday->owen,
DAVE_COLUMN, holiday->dave,
VISIBLE_COLUMN, TRUE,
WORLD_COLUMN, holiday->world_holiday,
-1);
holiday++;
}
holiday++;
}
month++;
}
@@ -224,8 +224,8 @@ create_model (void)
static void
item_toggled (GtkCellRendererToggle *cell,
gchar *path_str,
gpointer data)
gchar *path_str,
gpointer data)
{
GtkTreeModel *model = (GtkTreeModel *)data;
GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
@@ -245,7 +245,7 @@ item_toggled (GtkCellRendererToggle *cell,
/* set new value */
gtk_tree_store_set (GTK_TREE_STORE (model), &iter, column,
toggle_item, -1);
toggle_item, -1);
/* clean up */
gtk_tree_path_free (path);
@@ -264,10 +264,10 @@ add_columns (GtkTreeView *treeview)
g_object_set (renderer, "xalign", 0.0, NULL);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Holiday",
renderer, "text",
HOLIDAY_NAME_COLUMN,
NULL);
-1, "Holiday",
renderer, "text",
HOLIDAY_NAME_COLUMN,
NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -279,18 +279,18 @@ add_columns (GtkTreeView *treeview)
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Alex",
renderer,
"active",
ALEX_COLUMN,
"visible",
VISIBLE_COLUMN,
"activatable",
WORLD_COLUMN, NULL);
-1, "Alex",
renderer,
"active",
ALEX_COLUMN,
"visible",
VISIBLE_COLUMN,
"activatable",
WORLD_COLUMN, NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -302,17 +302,17 @@ add_columns (GtkTreeView *treeview)
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Havoc",
renderer,
"active",
HAVOC_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
-1, "Havoc",
renderer,
"active",
HAVOC_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -324,18 +324,18 @@ add_columns (GtkTreeView *treeview)
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Tim",
renderer,
"active",
TIM_COLUMN,
"visible",
VISIBLE_COLUMN,
"activatable",
WORLD_COLUMN, NULL);
-1, "Tim",
renderer,
"active",
TIM_COLUMN,
"visible",
VISIBLE_COLUMN,
"activatable",
WORLD_COLUMN, NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -347,17 +347,17 @@ add_columns (GtkTreeView *treeview)
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Owen",
renderer,
"active",
OWEN_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
-1, "Owen",
renderer,
"active",
OWEN_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -369,17 +369,17 @@ add_columns (GtkTreeView *treeview)
g_signal_connect (renderer, "toggled", G_CALLBACK (item_toggled), model);
col_offset = gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (treeview),
-1, "Dave",
renderer,
"active",
DAVE_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
-1, "Dave",
renderer,
"active",
DAVE_COLUMN,
"visible",
VISIBLE_COLUMN,
NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), col_offset - 1);
gtk_tree_view_column_set_sizing (GTK_TREE_VIEW_COLUMN (column),
GTK_TREE_VIEW_COLUMN_FIXED);
GTK_TREE_VIEW_COLUMN_FIXED);
gtk_tree_view_column_set_fixed_width (GTK_TREE_VIEW_COLUMN (column), 50);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
}
@@ -397,25 +397,25 @@ do_tree_store (GtkWidget *do_widget)
/* create window, etc */
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
gtk_box_pack_start (GTK_BOX (vbox),
gtk_label_new ("Jonathan's Holiday Card Planning Sheet"),
FALSE, FALSE, 0);
gtk_label_new ("Jonathan's Holiday Card Planning Sheet"),
FALSE, FALSE, 0);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_ETCHED_IN);
GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
/* create model */
@@ -426,7 +426,7 @@ do_tree_store (GtkWidget *do_widget)
g_object_unref (model);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE);
gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)),
GTK_SELECTION_MULTIPLE);
GTK_SELECTION_MULTIPLE);
add_columns (GTK_TREE_VIEW (treeview));
@@ -434,7 +434,7 @@ do_tree_store (GtkWidget *do_widget)
/* expand all rows after the treeview widget has been realized */
g_signal_connect (treeview, "realize",
G_CALLBACK (gtk_tree_view_expand_all), NULL);
G_CALLBACK (gtk_tree_view_expand_all), NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
}

View File

@@ -15,8 +15,8 @@ activate_action (GtkAction *action)
static void
activate_radio_action (GtkAction *action, GtkRadioAction *current)
{
g_message ("Radio action \"%s\" selected",
gtk_action_get_name (GTK_ACTION (current)));
g_message ("Radio action \"%s\" selected",
gtk_action_get_name (GTK_ACTION (current)));
}
static GtkActionEntry entries[] = {
@@ -27,30 +27,30 @@ static GtkActionEntry entries[] = {
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
{ "New", GTK_STOCK_NEW, /* name, stock id */
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Open", GTK_STOCK_OPEN, /* name, stock id */
"_Open","<control>O", /* label, accelerator */
"_Open","<control>O", /* label, accelerator */
"Open a file", /* tooltip */
G_CALLBACK (activate_action) },
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
"_Save","<control>S", /* label, accelerator */
"Save current file", /* tooltip */
G_CALLBACK (activate_action) },
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
"Save _As...", NULL, /* label, accelerator */
"Save _As...", NULL, /* label, accelerator */
"Save to a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
"_Quit", "<control>Q", /* label, accelerator */
"_Quit", "<control>Q", /* label, accelerator */
"Quit", /* tooltip */
G_CALLBACK (activate_action) },
{ "About", NULL, /* name, stock id */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
G_CALLBACK (activate_action) },
{ "Logo", "demo-gtk-logo", /* name, stock id */
NULL, NULL, /* label, accelerator */
NULL, NULL, /* label, accelerator */
"GTK+", /* tooltip */
G_CALLBACK (activate_action) },
};
@@ -59,9 +59,9 @@ static guint n_entries = G_N_ELEMENTS (entries);
static GtkToggleActionEntry toggle_entries[] = {
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
"_Bold", "<control>B", /* label, accelerator */
"_Bold", "<control>B", /* label, accelerator */
"Bold", /* tooltip */
G_CALLBACK (activate_action),
G_CALLBACK (activate_action),
TRUE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
@@ -74,13 +74,13 @@ enum {
static GtkRadioActionEntry color_entries[] = {
{ "Red", NULL, /* name, stock id */
"_Red", "<control>R", /* label, accelerator */
"_Red", "<control>R", /* label, accelerator */
"Blood", COLOR_RED }, /* tooltip, value */
{ "Green", NULL, /* name, stock id */
"_Green", "<control>G", /* label, accelerator */
"_Green", "<control>G", /* label, accelerator */
"Grass", COLOR_GREEN }, /* tooltip, value */
{ "Blue", NULL, /* name, stock id */
"_Blue", "<control>B", /* label, accelerator */
"_Blue", "<control>B", /* label, accelerator */
"Sky", COLOR_BLUE }, /* tooltip, value */
};
static guint n_color_entries = G_N_ELEMENTS (color_entries);
@@ -93,18 +93,18 @@ enum {
static GtkRadioActionEntry shape_entries[] = {
{ "Square", NULL, /* name, stock id */
"_Square", "<control>S", /* label, accelerator */
"_Square", "<control>S", /* label, accelerator */
"Square", SHAPE_SQUARE }, /* tooltip, value */
{ "Rectangle", NULL, /* name, stock id */
"_Rectangle", "<control>R", /* label, accelerator */
"_Rectangle", "<control>R", /* label, accelerator */
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
{ "Oval", NULL, /* name, stock id */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
};
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
static const gchar *ui_info =
static const gchar *ui_info =
"<ui>"
" <menubar name='MenuBar'>"
" <menu action='FileMenu'>"
@@ -117,9 +117,9 @@ static const gchar *ui_info =
" </menu>"
" <menu action='PreferencesMenu'>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" </menu>"
" <menu action='ShapeMenu'>"
" <menuitem action='Square'/>"
@@ -144,7 +144,7 @@ GtkWidget *
do_ui_manager (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
if (!window)
{
GtkWidget *box1;
@@ -158,68 +158,66 @@ do_ui_manager (GtkWidget *do_widget)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_widget_get_screen (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
G_CALLBACK (gtk_widget_destroyed), &window);
g_signal_connect (window, "delete-event",
G_CALLBACK (gtk_true), NULL);
G_CALLBACK (gtk_true), NULL);
actions = gtk_action_group_new ("Actions");
gtk_action_group_add_actions (actions, entries, n_entries, NULL);
gtk_action_group_add_toggle_actions (actions,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (actions,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (actions,
shape_entries, n_shape_entries,
SHAPE_OVAL,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_toggle_actions (actions,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (actions,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (actions,
shape_entries, n_shape_entries,
SHAPE_OVAL,
G_CALLBACK (activate_radio_action),
NULL);
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_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))
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_container_add (GTK_CONTAINER (window), box1);
gtk_box_pack_start (GTK_BOX (box1),
gtk_ui_manager_get_widget (ui, "/MenuBar"),
FALSE, FALSE, 0);
gtk_ui_manager_get_widget (ui, "/MenuBar"),
FALSE, FALSE, 0);
label = gtk_label_new ("Type\n<alt>\nto start");
gtk_widget_set_size_request (label, 200, 200);
gtk_misc_set_alignment (GTK_MISC (label), 0.5, 0.5);
gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (box1), label, TRUE, TRUE, 0);
separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0);
box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
gtk_container_set_border_width (GTK_CONTAINER (box2), 10);
gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0);
button = gtk_button_new_with_label ("close");
g_signal_connect_swapped (button, "clicked",
G_CALLBACK (gtk_widget_destroy), window);
G_CALLBACK (gtk_widget_destroy), window);
gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0);
gtk_widget_set_can_default (button, TRUE);
gtk_widget_grab_default (button);

View File

@@ -0,0 +1,41 @@
## Makefile.am for gtk+/demos
include $(top_srcdir)/Makefile.decl
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gtk/libgtk-3.la
LDADDS = \
$(top_builddir)/gtk/libgtk-3.la \
$(top_builddir)/gdk/libgdk-3.la \
$(GTK_DEP_LIBS) \
$(MATH_LIB)
noinst_PROGRAMS = \
pixbuf-demo
pixbuf_demo_DEPENDENCIES = $(DEPS)
pixbuf_demo_LDADD = $(LDADDS)
pixbuf_demo_SOURCES = pixbuf-demo.c
EXTRA_DIST += \
apple-red.png \
background.jpg \
gnome-applets.png \
gnome-calendar.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png
-include $(top_srcdir)/git.mk

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -181,14 +181,11 @@ destroy_cb (GObject *object, gpointer data)
gtk_main_quit ();
}
extern void pixbuf_init();
int
main (int argc, char **argv)
{
GtkWidget *window;
pixbuf_init ();
gtk_init (&argc, &argv);
if (!load_pixbufs ()) {

View File

@@ -1,20 +0,0 @@
#include "config.h"
#include <glib.h>
#include <sys/stat.h>
#include <stdlib.h>
static gboolean
file_exists (const char *filename)
{
struct stat statbuf;
return stat (filename, &statbuf) == 0;
}
void
pixbuf_init (void)
{
if (file_exists ("../gdk-pixbuf/libpixbufloader-pnm.la"))
g_setenv ("GDK_PIXBUF_MODULE_FILE", "../gdk-pixbuf/loaders.cache", TRUE);
}

View File

@@ -1,392 +0,0 @@
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <gtk/gtk.h>
#include <demos.h>
static GtkTextBuffer *info_buffer;
static GtkTextBuffer *source_buffer;
static gchar *current_file = NULL;
enum {
TITLE_COLUMN,
FILENAME_COLUMN,
FUNC_COLUMN,
ITALIC_COLUMN,
NUM_COLUMNS
};
gboolean
read_line (FILE *stream, GString *str)
{
int n_read = 0;
flockfile (stream);
g_string_truncate (str, 0);
while (1)
{
int c;
c = getc_unlocked (stream);
if (c == EOF)
goto done;
else
n_read++;
switch (c)
{
case '\r':
case '\n':
{
int next_c = getc_unlocked (stream);
if (!(next_c == EOF ||
(c == '\r' && next_c == '\n') ||
(c == '\n' && next_c == '\r')))
ungetc (next_c, stream);
goto done;
}
default:
g_string_append_c (str, c);
}
}
done:
funlockfile (stream);
return n_read > 0;
}
void
load_file (const gchar *filename)
{
FILE *file;
GtkTextIter start, end;
GString *buffer = g_string_new (NULL);
int state = 0;
gboolean in_para = 0;
if (current_file && !strcmp (current_file, filename))
return;
g_free (current_file);
current_file = g_strdup (filename);
gtk_text_buffer_get_bounds (info_buffer, &start, &end);
gtk_text_buffer_delete (info_buffer, &start, &end);
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_delete (source_buffer, &start, &end);
file = fopen (filename, "r");
if (!file)
{
g_warning ("Cannot open %s: %s\n", filename, g_strerror (errno));
return;
}
gtk_text_buffer_get_iter_at_offset (info_buffer, &start, 0);
while (read_line (file, buffer))
{
gchar *p = buffer->str;
gchar *q;
switch (state)
{
case 0:
/* Reading title */
while (*p == '/' || *p == '*' || isspace (*p))
p++;
q = p + strlen (p);
while (q > p && isspace (*(q - 1)))
q--;
if (q > p)
{
int len_chars = g_utf8_pointer_to_offset (p, q);
end = start;
g_assert (strlen (p) >= q - p);
gtk_text_buffer_insert (info_buffer, &end, p, q - p);
start = end;
gtk_text_iter_backward_chars (&start, len_chars);
gtk_text_buffer_apply_tag_by_name (info_buffer, "title", &start, &end);
start = end;
state++;
}
break;
case 1:
/* Reading body of info section */
while (isspace (*p))
p++;
if (*p == '*' && *(p + 1) == '/')
{
gtk_text_buffer_get_iter_at_offset (source_buffer, &start, 0);
state++;
}
else
{
int len;
while (*p == '*' || isspace (*p))
p++;
len = strlen (p);
while (isspace (*(p + len - 1)))
len--;
if (len > 0)
{
if (in_para)
gtk_text_buffer_insert (info_buffer, &start, " ", 1);
g_assert (strlen (p) >= len);
gtk_text_buffer_insert (info_buffer, &start, p, len);
in_para = 1;
}
else
{
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
in_para = 0;
}
}
break;
case 2:
/* Skipping blank lines */
while (isspace (*p))
p++;
if (*p)
{
p = buffer->str;
state++;
/* Fall through */
}
else
break;
case 3:
/* Reading program body */
gtk_text_buffer_insert (source_buffer, &start, p, -1);
gtk_text_buffer_insert (info_buffer, &start, "\n", 1);
break;
}
}
gtk_text_buffer_get_bounds (source_buffer, &start, &end);
gtk_text_buffer_apply_tag_by_name (info_buffer, "source", &start, &end);
fclose (file);
}
gboolean
button_press_event_cb (GtkTreeView *tree_view,
GdkEventButton *event,
GtkTreeModel *model)
{
if (event->type == GDK_2BUTTON_PRESS)
{
GtkTreePath *path = NULL;
gtk_tree_view_get_path_at_pos (tree_view,
event->window,
event->x,
event->y,
&path,
NULL);
if (path)
{
GtkTreeIter iter;
gboolean italic;
GVoidFunc func;
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_store_get (GTK_TREE_STORE (model),
&iter,
FUNC_COLUMN, &func,
ITALIC_COLUMN, &italic,
-1);
(func) ();
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
ITALIC_COLUMN, !italic,
-1);
gtk_tree_path_free (path);
}
g_signal_stop_emission_by_name (tree_view, "button-press-event");
return TRUE;
}
return FALSE;
}
static void
selection_cb (GtkTreeSelection *selection,
GtkTreeModel *model)
{
GtkTreeIter iter;
GValue value = {0, };
if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
return;
gtk_tree_model_get_value (model, &iter,
FILENAME_COLUMN,
&value);
load_file (g_value_get_string (&value));
g_value_unset (&value);
}
static GtkWidget *
create_text (GtkTextBuffer **buffer,
gboolean is_source)
{
GtkWidget *scrolled_window;
GtkWidget *text_view;
PangoFontDescription *font_desc;
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_SHADOW_IN);
text_view = gtk_text_view_new ();
gtk_container_add (GTK_CONTAINER (scrolled_window), text_view);
*buffer = gtk_text_buffer_new (NULL);
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), *buffer);
gtk_text_view_set_editable (GTK_TEXT_VIEW (text_view), FALSE);
gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (text_view), FALSE);
if (is_source)
{
font_desc = pango_font_description_from_string ("Courier 10");
gtk_widget_modify_font (text_view, font_desc);
pango_font_description_free (font_desc);
}
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (text_view), !is_source);
return scrolled_window;
}
/* Technically a list, but if we do go to 80 demos, we may want to move to a tree */
static GtkWidget *
create_tree (void)
{
GtkTreeSelection *selection;
GtkCellRenderer *cell;
GtkWidget *tree_view;
GtkTreeViewColumn *column;
GtkTreeStore *model;
GtkTreeIter iter;
gint i;
model = gtk_tree_store_new_with_types (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
gtk_tree_selection_set_type (GTK_TREE_SELECTION (selection),
GTK_TREE_SELECTION_SINGLE);
gtk_widget_set_usize (tree_view, 200, -1);
for (i=0; i < G_N_ELEMENTS (testgtk_demos); i++)
{
gtk_tree_store_append (GTK_TREE_STORE (model), &iter, NULL);
gtk_tree_store_set (GTK_TREE_STORE (model),
&iter,
TITLE_COLUMN, testgtk_demos[i].title,
FILENAME_COLUMN, testgtk_demos[i].filename,
FUNC_COLUMN, testgtk_demos[i].func,
ITALIC_COLUMN, FALSE,
-1);
}
cell = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("Widget",
cell,
"text", TITLE_COLUMN,
"italic", ITALIC_COLUMN,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view),
GTK_TREE_VIEW_COLUMN (column));
g_signal_connect (selection, "selection-changed", selection_cb, model);
g_signal_connect (tree_view, "button-press-event", G_CALLBACK (button_press_event_cb), model);
return tree_view;
}
int
main (int argc, char **argv)
{
GtkWidget *window;
GtkWidget *notebook;
GtkWidget *hbox;
GtkWidget *tree;
GtkTextTag *tag;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), hbox);
tree = create_tree ();
gtk_box_pack_start (GTK_BOX (hbox), tree, FALSE, FALSE, 0);
notebook = gtk_notebook_new ();
gtk_box_pack_start (GTK_BOX (hbox), notebook, TRUE, TRUE, 0);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&info_buffer, FALSE),
gtk_label_new ("Info"));
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
create_text (&source_buffer, TRUE),
gtk_label_new ("Source"));
tag = gtk_text_buffer_create_tag (info_buffer, "title");
g_object_set (tag,
"font", "Sans 18",
NULL);
tag = gtk_text_buffer_create_tag (info_buffer, "source");
g_object_set (tag,
"font", "Courier 10",
"pixels_above_lines", 0,
"pixels_below_lines", 0,
NULL);
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
gtk_widget_show_all (window);
load_file (testgtk_demos[0].filename);
gtk_main ();
return 0;
}

View File

@@ -421,10 +421,10 @@ definitions should be vertically aligned in three columns:
The maximum width of each column is given by the longest element in the
column:
void gtk_type_set_property (GtkType *type,
const gchar *value,
GError **error);
G_CONST_RETURN gchar *gtk_type_get_property (GtkType *type);
void gtk_type_set_property (GtkType *type,
const gchar *value,
GError **error);
const gchar *gtk_type_get_property (GtkType *type);
It is also possible to align the columns to the next tab:

View File

@@ -8,7 +8,6 @@ EXTRA_DIST += \
developers.txt \
dnd_internals.txt \
focus_tracking.txt \
generation.txt \
gtkdocs_fix \
make-todo \
refcounting.txt \
@@ -16,7 +15,6 @@ EXTRA_DIST += \
sizing-test.txt \
styles.txt \
text_widget_internals.txt \
text_widget.txt \
tree-column-sizing.png \
tree-column-sizing.txt \
widget_geometry.txt \

View File

@@ -1,177 +0,0 @@
Overview:
========
This file describes the way that autogeneration
works within the GTK+ source code.
The following files in the gdk/ subdirectory
are autogenerated:
gdkkeysyms.h
gdkcursors.h
The following files in the gtk/ subdirectory
are autogenerated:
gtk.defs
Description of GTK+ types (and some functions) in a lisp-style
format.
gtktypebuiltins.h
Header file including declarations for internal types
gtktypebuiltins_vars.c
Variables for type values for internal types.
gtktypebuiltins_ids.c
Arrays holding information about each internal type.
gtktypebuiltins_evals.c
Arrays holding mapping between enumeration values
and strings.
gtkmarshal.c
gtkmarshal.h
Autogenerated signal marshallers
GDK
===
gdkkeysyms.h and gdkcursors.h are generated from
the corresponding header files
X11/cursorfont.h
X11/keysymdef.h
by some simple sed scripts. These are not actually
run automatically because we want all the keysyms
even on systems with a limited set.
So the Gdk rule to generate both files (X-derived-headers)
only needs to be rerun for every new release of the X Window
System.
GTK+ - type definitions
=======================
The type definitions are generated from several sources:
gtk-boxed.defs - definitions for boxed types
GTK+ header files
GDK header files
The makeenums.pl script does a heuristic parse of
the header files and extracts all enumerations declarations.
It also recognizes a number of pseudo-comments in the
header files:
Two of these apply to individual enumeration values:
/*< skip >*/
This enumeration value should be skipped.
/*< nick=NICK >*/
The nickname for this value should NICK instead of the
normally guessed value. For instance:
typedef enum {
GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/
GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/
} GtkTargetFlags;
makes the nicks "same-app" and "same-widget", instead of
"app" and "widget" that would normally be used.
The other two apply to entire enumeration declarations.
/*< prefix=PREFIX >*/
Specifies the prefix to be removed from the enumeration
values to generate nicknames.
/*< flags >*/
Specifies that this enumeration is used as a bitfield.
(makenums.pl normally guesses this from the presence of values
with << operators). For instance:
typedef enum /*< flags >*/
{
GDK_IM_PREEDIT_AREA = 0x0001,
GDK_IM_PREEDIT_CALLBACKS = 0x0002,
[ ... ]
} GdkIMStyle;
makeenums.pl can be run into two modes:
1) Generate the gtktypebuiltins_eval.c file (this
contains arrays holding the mapping of
string <=> enumeration value)
2) Generate the enumeration portion of gtk.defs.
The enumeration 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
from that generates various files depending on the
third parameter passed to it:
macros: gtktypebuiltins.h
variables: gtktypebuiltins_vars.c
entries: gtktypebuiltins_ids.c
GTK+ - marshallers
==================
The files gtkmarshal.c and gtkmarshal.h include declarations
and definitions for the marshallers needed inside of
GTK+. The marshallers to be generated are listed in
the file gtkmashal.list, which is processed
by genmarshal.pl.
The format of this file is a list of lines:
<retval-type>:<arg1-type>,<arg2-type>,<arg3-type>
e.g.:
BOOL:POINTER,STRING,STRING,POINTER
A marshaller is generated for each line in the file.
The possible types are:
NONE
BOOL
CHAR
INT
UINT
LONG
ULONG
FLOAT
DOUBLE
STRING
ENUM
FLAGS
BOXED
POINTER
OBJECT
FOREIGN (gpointer data, GtkDestroyNotify notify)
C_CALLBACK (GtkFunction func, gpointer func_data)
SIGNAL (GtkSignalFunc f, gpointer data)
ARGS (gint n_args, GtkArg *args)
CALLBACK (GtkCallBackMarshal marshall,
gpointer data,
GtkDestroyNotify Notify)
Some of these types map to multiple return values - these
are marked above with the return types in parentheses.
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
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
is it copied into the final location.

View File

@@ -1,5 +1,4 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
@@ -13,130 +12,127 @@ DOC_MAIN_SGML_FILE=gdk-docs.sgml
SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gdk
DOC_SOURCE_DIR=../../../gdk ../../../gdk/x11
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h
CFILE_GLOB=$(top_srcdir)/gdk/*.c
# Header files to ignore when scanning
IGNORE_HFILES= \
IGNORE_HFILES= \
gdkintl.h \
gdkmarshalers.h \
gdkkeysyms.h \
gdkinternals.h \
gdkprivate.h \
gdkpoly-generic.h \
gdk*private.h \
keyname-table.h \
win32 \
win32 \
x11 \
quartz
# Extra files to add when scanning (relative to $srcdir)
EXTRA_HFILES= \
../../../gdk/x11/gdkx.h
../../../gdk/x11/gdkx.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
AM_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(top_builddir)/gdk \
$(GTK_DEBUG_FLAGS) \
$(GDK_DEP_CFLAGS)
GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib)
GTKDOC_LIBS = $(top_builddir)/gdk/libgdk-3.la $(GDK_DEP_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files = \
version.xml \
multihead.sgml
version.xml
# Images to copy into HTML directory
HTML_IMAGES = \
HTML_IMAGES = \
images/rotated-text.png \
\
images/X_cursor.png \
images/arrow.png \
images/based_arrow_down.png \
images/based_arrow_up.png \
images/boat.png \
images/bogosity.png \
images/bottom_left_corner.png \
images/bottom_right_corner.png \
images/bottom_side.png \
images/bottom_tee.png \
images/box_spiral.png \
images/center_ptr.png \
images/circle.png \
images/clock.png \
images/coffee_mug.png \
images/cross.png \
images/cross_reverse.png \
images/crosshair.png \
images/diamond_cross.png \
images/dot.png \
images/dotbox.png \
images/double_arrow.png \
images/draft_large.png \
images/draft_small.png \
images/draped_box.png \
images/exchange.png \
images/fleur.png \
images/gobbler.png \
images/gumby.png \
images/hand1.png \
images/hand2.png \
images/heart.png \
images/icon.png \
images/iron_cross.png \
images/left_ptr.png \
images/left_side.png \
images/left_tee.png \
images/leftbutton.png \
images/ll_angle.png \
images/lr_angle.png \
images/man.png \
images/middlebutton.png \
images/mouse.png \
images/pencil.png \
images/pirate.png \
images/plus.png \
images/question_arrow.png \
images/right_ptr.png \
images/right_side.png \
images/right_tee.png \
images/rightbutton.png \
images/rtl_logo.png \
images/sailboat.png \
images/sb_down_arrow.png \
images/sb_h_double_arrow.png \
images/sb_left_arrow.png \
images/sb_right_arrow.png \
images/sb_up_arrow.png \
images/sb_v_double_arrow.png \
images/shuttle.png \
images/sizing.png \
images/spider.png \
images/spraycan.png \
images/star.png \
images/target.png \
images/tcross.png \
images/top_left_arrow.png \
images/top_left_corner.png \
images/top_right_corner.png \
images/top_side.png \
images/top_tee.png \
images/trek.png \
images/ul_angle.png \
images/umbrella.png \
images/ur_angle.png \
images/watch.png \
images/xterm.png
images/X_cursor.png \
images/arrow.png \
images/based_arrow_down.png \
images/based_arrow_up.png \
images/boat.png \
images/bogosity.png \
images/bottom_left_corner.png \
images/bottom_right_corner.png \
images/bottom_side.png \
images/bottom_tee.png \
images/box_spiral.png \
images/center_ptr.png \
images/circle.png \
images/clock.png \
images/coffee_mug.png \
images/cross.png \
images/cross_reverse.png \
images/crosshair.png \
images/diamond_cross.png \
images/dot.png \
images/dotbox.png \
images/double_arrow.png \
images/draft_large.png \
images/draft_small.png \
images/draped_box.png \
images/exchange.png \
images/fleur.png \
images/gobbler.png \
images/gumby.png \
images/hand1.png \
images/hand2.png \
images/heart.png \
images/icon.png \
images/iron_cross.png \
images/left_ptr.png \
images/left_side.png \
images/left_tee.png \
images/leftbutton.png \
images/ll_angle.png \
images/lr_angle.png \
images/man.png \
images/middlebutton.png \
images/mouse.png \
images/pencil.png \
images/pirate.png \
images/plus.png \
images/question_arrow.png \
images/right_ptr.png \
images/right_side.png \
images/right_tee.png \
images/rightbutton.png \
images/rtl_logo.png \
images/sailboat.png \
images/sb_down_arrow.png \
images/sb_h_double_arrow.png \
images/sb_left_arrow.png \
images/sb_right_arrow.png \
images/sb_up_arrow.png \
images/sb_v_double_arrow.png \
images/shuttle.png \
images/sizing.png \
images/spider.png \
images/spraycan.png \
images/star.png \
images/target.png \
images/tcross.png \
images/top_left_arrow.png \
images/top_left_corner.png \
images/top_right_corner.png \
images/top_side.png \
images/top_tee.png \
images/trek.png \
images/ul_angle.png \
images/umbrella.png \
images/ur_angle.png \
images/watch.png \
images/xterm.png
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS= \

View File

@@ -6,23 +6,26 @@
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>GDK Reference Manual</title>
<title>GDK 3 Reference Manual</title>
<releaseinfo>
for GDK &version;
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk/unstable/">http://library.gnome.org/devel/gdk/unstable/</ulink>.
This document is for the GDK 3 library, version &version;
The latest versions can be found online at
<ulink role="online-location" url="http://library.gnome.org/devel/gdk3/">http://library.gnome.org/devel/gdk3/</ulink>.
If you are looking for the older GDK 2 series of libraries,
see <ulink role="online-location" url="http://library.gnome.org/devel/gdk/">http://library.gnome.org/devel/gdk/</ulink>.
</releaseinfo>
</bookinfo>
<reference id="reference">
<title>API Reference</title>
<xi:include href="xml/general.xml" />
<xi:include href="multihead.sgml" />
<xi:include href="xml/gdkdisplay.xml" />
<xi:include href="xml/gdkdisplaymanager.xml" />
<xi:include href="xml/gdkdisplay.xml" />
<xi:include href="xml/gdkscreen.xml" />
<xi:include href="xml/gdkdevicemanager.xml" />
<xi:include href="xml/gdkdevice.xml" />
<xi:include href="xml/regions.xml" />
<xi:include href="xml/drawing.xml" />
<xi:include href="xml/pixbufs.xml" />
<xi:include href="xml/colors.xml" />
<xi:include href="xml/rgba_colors.xml" />
<xi:include href="xml/visuals.xml" />
@@ -35,7 +38,6 @@
<xi:include href="xml/dnd.xml" />
<xi:include href="xml/properties.xml" />
<xi:include href="xml/threads.xml" />
<xi:include href="xml/gdkdevicemanager.xml" />
<xi:include href="xml/pango_interaction.xml" />
<xi:include href="xml/cairo_interaction.xml" />
<xi:include href="xml/x_interaction.xml" />
@@ -55,6 +57,10 @@
<title>Index of new symbols in 3.0</title>
<xi:include href="xml/api-index-3.0.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-3-2" role="3.2">
<title>Index of new symbols in 3.2</title>
<xi:include href="xml/api-index-3.2.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>

View File

@@ -1,27 +1,4 @@
# GdkPixmap, GdkBitmap and GdkDrawable are the same as GdkWindow.
<STRUCT>
<NAME>GdkWindow</NAME>
struct GdkPixmap
{
gpointer user_data;
};
</STRUCT>
<STRUCT>
<NAME>GdkPixmap</NAME>
struct GdkPixmap
{
gpointer user_data;
};
</STRUCT>
<STRUCT>
<NAME>GdkDrawable</NAME>
struct GdkDrawable
{
gpointer user_data;
};
</STRUCT>
# GdkAtom is an opaque typedef
<STRUCT>
<NAME>GdkAtom</NAME>

View File

@@ -8,8 +8,6 @@ gdk_init
gdk_init_check
gdk_parse_args
gdk_get_display_arg_name
gdk_set_locale
gdk_set_sm_client_id
gdk_notify_startup_complete
gdk_notify_startup_complete_with_id
@@ -63,7 +61,6 @@ GdkStatus
GDKVAR
gdk_axis_use_get_type
gdk_byte_order_get_type
gdk_cap_style_get_type
gdk_crossing_mode_get_type
gdk_cursor_type_get_type
gdk_drag_action_get_type
@@ -79,17 +76,14 @@ gdk_input_mode_get_type
gdk_input_source_get_type
gdk_modifier_type_get_type
gdk_notify_type_get_type
gdk_overlap_type_get_type
gdk_property_state_get_type
gdk_prop_mode_get_type
gdk_scroll_direction_get_type
gdk_setting_action_get_type
gdk_status_get_type
gdk_subwindow_mode_get_type
gdk_visibility_state_get_type
gdk_visual_type_get_type
gdk_window_attributes_type_get_type
gdk_window_class_get_type
gdk_window_edge_get_type
gdk_window_hints_get_type
gdk_window_state_get_type
@@ -122,23 +116,16 @@ gdk_display_sync
gdk_display_flush
gdk_display_close
gdk_display_is_closed
gdk_display_list_devices
gdk_display_get_event
gdk_display_peek_event
gdk_display_put_event
gdk_display_add_client_message_filter
gdk_display_has_pending
gdk_display_set_double_click_time
gdk_display_set_double_click_distance
gdk_display_get_pointer
gdk_display_get_device_state
gdk_display_list_devices
gdk_display_get_window_at_pointer
gdk_display_get_window_at_device_position
GdkDisplayPointerHooks
gdk_display_set_pointer_hooks
GdkDisplayDeviceHooks
gdk_display_set_device_hooks
gdk_display_warp_pointer
gdk_display_warp_device
gdk_display_supports_cursor_color
gdk_display_supports_cursor_alpha
gdk_display_get_default_cursor_size
@@ -151,7 +138,11 @@ gdk_display_store_clipboard
gdk_display_supports_shapes
gdk_display_supports_input_shapes
gdk_display_supports_composite
gdk_display_get_app_launch_context
gdk_display_notify_startup_complete
<SUBSECTION Standard>
GDK_DISPLAY
GDK_DISPLAY_OBJECT
GDK_IS_DISPLAY
GDK_TYPE_DISPLAY
@@ -173,7 +164,8 @@ gdk_display_manager_get
gdk_display_manager_get_default_display
gdk_display_manager_set_default_display
gdk_display_manager_list_displays
gdk_display_get_core_pointer
gdk_display_manager_open_display
<SUBSECTION Standard>
GDK_DISPLAY_MANAGER
GDK_DISPLAY_MANAGER_CLASS
@@ -211,7 +203,6 @@ gdk_screen_get_monitor_at_window
gdk_screen_get_monitor_height_mm
gdk_screen_get_monitor_width_mm
gdk_screen_get_monitor_plug_name
gdk_screen_broadcast_client_message
gdk_screen_get_setting
gdk_screen_get_font_options
gdk_screen_set_font_options
@@ -219,10 +210,6 @@ gdk_screen_get_resolution
gdk_screen_set_resolution
gdk_screen_get_active_window
gdk_screen_get_window_stack
<SUBSECTION Spawning>
gdk_spawn_on_screen
gdk_spawn_on_screen_with_pipes
gdk_spawn_command_line_on_screen
<SUBSECTION Standard>
GDK_SCREEN
@@ -257,6 +244,8 @@ gdk_color_to_string
<SUBSECTION Standard>
GDK_TYPE_COLOR
<SUBSECTION Private>
gdk_color_get_type
</SECTION>
<SECTION>
@@ -272,25 +261,9 @@ gdk_rgba_to_string
<SUBSECTION Standard>
GDK_TYPE_RGBA
</SECTION>
<SECTION>
<TITLE>Drawing Primitives</TITLE>
<FILE>drawing</FILE>
GdkDrawable
gdk_drawable_get_clip_region
gdk_drawable_get_visible_region
<SUBSECTION Standard>
GDK_DRAWABLE
GDK_DRAWABLE_GET_CLASS
GDK_TYPE_DRAWABLE
GDK_IS_DRAWABLE
GDK_DRAWABLE_CLASS
GDK_IS_DRAWABLE_CLASS
<SUBSECTION Private>
GdkDrawableClass
gdk_rgba_get_type
</SECTION>
<SECTION>
@@ -339,7 +312,7 @@ gdk_visual_get_type
<FILE>windows</FILE>
GdkWindow
GdkWindowType
GdkWindowClass
GdkWindowWindowClass
GdkWindowHints
GdkGeometry
GdkGravity
@@ -397,9 +370,11 @@ gdk_window_constrain_size
gdk_window_beep
<SUBSECTION>
gdk_window_get_clip_region
gdk_window_begin_paint_rect
gdk_window_begin_paint_region
gdk_window_end_paint
gdk_window_get_visible_region
<SUBSECTION>
gdk_window_invalidate_rect
@@ -489,10 +464,8 @@ gdk_window_get_device_cursor
gdk_window_set_device_cursor
gdk_window_get_device_events
gdk_window_set_device_events
<SUBSECTION>
GdkPointerHooks
gdk_set_pointer_hooks
gdk_window_get_source_events
gdk_window_set_source_events
<SUBSECTION>
gdk_offscreen_window_get_surface
@@ -515,7 +488,6 @@ GDK_TYPE_FILTER_RETURN
GDK_TYPE_GRAVITY
GDK_TYPE_MODIFIER_TYPE
GDK_TYPE_WINDOW_ATTRIBUTES_TYPE
GDK_TYPE_WINDOW_CLASS
GDK_TYPE_WINDOW_EDGE
GDK_TYPE_WINDOW_HINTS
GDK_TYPE_WINDOW_TYPE
@@ -524,12 +496,11 @@ GDK_TYPE_WM_DECORATION
GDK_TYPE_WM_FUNCTION
<SUBSECTION Private>
gdk_window_object_get_type
gdk_drawable_get_type
GdkWindowObject
GdkWindowObjectClass
gdk_window_get_type
gdk_window_window_class_get_type
GdkWindowClass
GdkWindowImpl
GdkWindowImplIface
GdkWindowImplClass
GdkWindowRedirect
gdk_window_impl_get_type
gdk_window_freeze_toplevel_updates_libgtk_only
@@ -572,17 +543,8 @@ GdkAtom
GDK_ATOM_TO_POINTER
GDK_POINTER_TO_ATOM
GDK_NONE
gdk_text_property_to_text_list
gdk_text_property_to_text_list_for_display
gdk_free_text_list
gdk_text_property_to_utf8_list
gdk_text_property_to_utf8_list_for_display
gdk_string_to_compound_text
gdk_string_to_compound_text_for_display
gdk_free_compound_text
gdk_utf8_to_string_target
gdk_utf8_to_compound_text
gdk_utf8_to_compound_text_for_display
gdk_atom_intern
gdk_atom_intern_static_string
gdk_atom_name
@@ -616,7 +578,6 @@ gdk_cairo_set_source_pixbuf
gdk_cairo_set_source_window
gdk_cairo_rectangle
gdk_cairo_region
gdk_cairo_reset_clip
gdk_cairo_region_create_from_surface
</SECTION>
@@ -649,10 +610,6 @@ gdk_threads_add_timeout
gdk_threads_add_timeout_full
gdk_threads_add_timeout_seconds
gdk_threads_add_timeout_seconds_full
<SUBSECTION Private>
gdk_threads_lock
gdk_threads_unlock
</SECTION>
<SECTION>
@@ -702,25 +659,17 @@ gdk_keymap_get_type
</SECTION>
<SECTION>
<TITLE>GdkDeviceManager</TITLE>
<FILE>gdkdevicemanager</FILE>
GdkDeviceManager
<TITLE>GdkDevice</TITLE>
<FILE>gdkdevice</FILE>
GdkDevice
GdkDeviceType
GdkInputSource
GdkInputMode
GdkDeviceKey
GdkDeviceAxis
GdkAxisUse
GdkDeviceType
GdkGrabOwnership
gdk_enable_multidevice
gdk_device_manager_get_display
gdk_device_manager_list_devices
gdk_device_manager_get_client_pointer
<SUBSECTION>
gdk_device_get_name
gdk_device_set_source
gdk_device_get_source
gdk_device_set_mode
gdk_device_get_mode
@@ -729,10 +678,13 @@ gdk_device_get_key
gdk_device_set_axis_use
gdk_device_get_axis_use
gdk_device_get_associated_device
gdk_device_list_slave_devices
gdk_device_get_device_type
gdk_device_get_display
gdk_device_get_has_cursor
gdk_device_get_n_axes
gdk_device_get_n_keys
gdk_device_warp
<SUBSECTION>
gdk_device_grab
@@ -740,6 +692,8 @@ gdk_device_ungrab
<SUBSECTION>
gdk_device_get_state
gdk_device_get_position
gdk_device_get_window_at_position
gdk_device_get_history
gdk_device_free_history
GdkTimeCoord
@@ -747,14 +701,6 @@ gdk_device_get_axis
gdk_device_list_axes
gdk_device_get_axis_value
<SUBSECTION>
gdk_input_set_extension_events
GdkExtensionMode
<SUBSECTION>
gdk_devices_list
gdk_device_get_core_pointer
<SUBSECTION Standard>
GDK_TYPE_AXIS_USE
GDK_TYPE_EXTENSION_MODE
@@ -762,12 +708,6 @@ GDK_TYPE_INPUT_MODE
GDK_TYPE_INPUT_SOURCE
GDK_TYPE_DEVICE_TYPE
GDK_TYPE_GRAB_OWNERSHIP
GDK_DEVICE_MANAGER
GDK_DEVICE_MANAGER_CLASS
GDK_DEVICE_MANAGER_GET_CLASS
GDK_IS_DEVICE_MANAGER
GDK_IS_DEVICE_MANAGER_CLASS
GDK_TYPE_DEVICE_MANAGER
GDK_DEVICE
GDK_DEVICE_CLASS
GDK_DEVICE_GET_CLASS
@@ -777,15 +717,33 @@ GDK_TYPE_DEVICE
<SUBSECTION Private>
GdkDeviceClass
GdkDevicePrivate
GdkDeviceManagerClass
GdkDeviceManagerPrivate
gdk_device_get_type
gdk_device_manager_get_type
gdk_device_type_get_type
GDK_MAX_TIMECOORD_AXES
</SECTION>
<SECTION>
<TITLE>GdkDeviceManager</TITLE>
<FILE>gdkdevicemanager</FILE>
GdkDeviceManager
gdk_disable_multidevice
gdk_device_manager_get_display
gdk_device_manager_list_devices
gdk_device_manager_get_client_pointer
<SUBSECTION Standard>
GDK_DEVICE_MANAGER
GDK_DEVICE_MANAGER_CLASS
GDK_DEVICE_MANAGER_GET_CLASS
GDK_IS_DEVICE_MANAGER
GDK_IS_DEVICE_MANAGER_CLASS
GDK_TYPE_DEVICE_MANAGER
<SUBSECTION Private>
GdkDeviceManagerClass
gdk_device_manager_get_type
</SECTION>
<SECTION>
<TITLE>Events</TITLE>
<FILE>events</FILE>
@@ -795,7 +753,6 @@ GDK_CURRENT_TIME
GDK_PRIORITY_EVENTS
GDK_PRIORITY_REDRAW
<SUBSECTION>
gdk_events_pending
gdk_event_peek
@@ -804,11 +761,16 @@ gdk_event_put
gdk_event_new
gdk_event_copy
gdk_event_free
gdk_event_get_time
gdk_event_get_state
gdk_event_get_axis
gdk_event_get_button
gdk_event_get_click_count
gdk_event_get_coords
gdk_event_get_keycode
gdk_event_get_keyval
gdk_event_get_root_coords
gdk_event_get_scroll_direction
gdk_event_get_state
gdk_event_get_time
gdk_event_request_motions
gdk_events_get_angle
gdk_events_get_center
@@ -818,12 +780,6 @@ gdk_events_get_distance
gdk_event_handler_set
GdkEventFunc
<SUBSECTION>
gdk_event_send_client_message
gdk_event_send_client_message_for_display
gdk_event_send_clientmessage_toall
gdk_add_client_message_filter
<SUBSECTION>
gdk_get_show_events
gdk_set_show_events
@@ -831,6 +787,8 @@ gdk_event_set_screen
gdk_event_get_screen
gdk_event_get_device
gdk_event_set_device
gdk_event_get_source_device
gdk_event_set_source_device
<SUBSECTION>
gdk_setting_get
@@ -858,11 +816,8 @@ GdkEventFocus
GdkEventConfigure
GdkEventProperty
GdkEventSelection
GdkNativeWindow
GdkEventDND
GdkEventProximity
GdkEventClient
GdkEventNoExpose
GdkEventWindowState
GdkEventSetting
GdkEventOwnerChange
@@ -921,30 +876,31 @@ gdk_cursor_get_type
<SECTION>
<TITLE>Drag and Drop</TITLE>
<FILE>dnd</FILE>
GdkDragContext
gdk_drag_get_selection
gdk_drag_abort
gdk_drop_reply
gdk_drag_context_new
gdk_drag_drop
gdk_drag_find_window
gdk_drag_find_window_for_screen
gdk_drag_context_get_source_window
gdk_drag_begin
gdk_drag_begin_for_device
gdk_drag_motion
gdk_drop_finish
gdk_drag_get_protocol
gdk_drag_get_protocol_for_display
GdkDragProtocol
GdkDragContext
GdkDragAction
gdk_drag_status
gdk_drag_drop_succeeded
gdk_window_get_drag_protocol
gdk_drag_context_get_actions
gdk_drag_context_get_suggested_action
gdk_drag_context_get_selected_action
gdk_drag_context_list_targets
gdk_drag_context_get_device
gdk_drag_context_set_device
gdk_drag_context_get_source_window
gdk_drag_context_get_dest_window
gdk_drag_context_get_protocol
<SUBSECTION Standard>
GDK_DRAG_CONTEXT
@@ -966,38 +922,23 @@ gdk_drag_context_get_type
<TITLE>X Window System Interaction</TITLE>
<FILE>x_interaction</FILE>
GDK_ROOT_WINDOW
GDK_WINDOW_XDISPLAY
GDK_WINDOW_XID
GDK_DISPLAY_XDISPLAY
GDK_DRAWABLE_XDISPLAY
GDK_DRAWABLE_XID
GDK_SCREEN_XDISPLAY
GDK_SCREEN_XNUMBER
GDK_SCREEN_XSCREEN
GDK_CURSOR_XCURSOR
GDK_CURSOR_XDISPLAY
GDK_WINDOW_XWINDOW
gdkx_visual_get
gdk_window_foreign_new
gdk_window_foreign_new_for_display
gdk_xid_table_lookup
gdk_xid_table_lookup_for_display
gdk_window_lookup
gdk_window_lookup_for_display
GDK_POINTER_TO_XID
GDK_XID_TO_POINTER
gdk_x11_lookup_xdisplay
gdk_x11_get_server_time
gdk_net_wm_supports
gdk_x11_screen_supports_net_wm_hint
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_get_monitor_output
gdk_x11_screen_lookup_visual
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
gdk_x11_device_get_id
gdk_x11_device_manager_lookup
gdk_x11_display_get_user_time
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_set_startup_notification_id
gdk_x11_display_get_xdisplay
gdk_x11_display_grab
gdk_x11_display_ungrab
@@ -1006,15 +947,25 @@ gdk_x11_display_error_trap_pop
gdk_x11_display_error_trap_pop_ignored
gdk_x11_display_set_cursor_theme
gdk_x11_register_standard_event_type
gdk_x11_drawable_get_xdisplay
gdk_x11_drawable_get_xid
gdk_x11_screen_get_screen_number
gdk_x11_screen_get_xscreen
gdk_x11_screen_get_window_manager_name
gdk_x11_screen_get_monitor_output
gdk_x11_screen_lookup_visual
gdk_x11_screen_supports_net_wm_hint
gdk_x11_window_foreign_new_for_display
gdk_x11_window_lookup_for_display
gdk_x11_window_get_xid
gdk_x11_window_set_theme_variant
gdk_x11_window_set_user_time
gdk_x11_window_move_to_current_desktop
gdk_x11_get_default_root_xwindow
gdk_x11_get_default_screen
gdk_x11_get_default_xdisplay
gdk_x11_grab_server
gdk_x11_screen_get_screen_number
gdk_x11_screen_get_xscreen
gdk_x11_ungrab_server
gdk_x11_cursor_get_xcursor
gdk_x11_cursor_get_xdisplay
gdk_x11_visual_get_xvisual
gdk_x11_atom_to_xatom
gdk_x11_atom_to_xatom_for_display
@@ -1024,11 +975,30 @@ gdk_x11_get_xatom_by_name
gdk_x11_get_xatom_by_name_for_display
gdk_x11_get_xatom_name
gdk_x11_get_xatom_name_for_display
gdk_x11_set_sm_client_id
gdk_x11_display_text_property_to_text_list
gdk_x11_free_text_list
gdk_x11_display_string_to_compound_text
gdk_x11_display_utf8_to_compound_text
gdk_x11_free_compound_text
<SUBSECTION Private>
GDK_HAVE_WCHAR_H
GDK_HAVE_WCTYPE_H
gdk_x11_window_get_drawable_impl
gdk_x11_app_launch_context_get_type
gdk_x11_cursor_get_type
gdk_x11_device_core_get_type
gdk_x11_device_manager_core_get_type
gdk_x11_device_manager_xi2_get_type
gdk_x11_device_manager_xi_get_type
gdk_x11_device_xi2_get_type
gdk_x11_device_xi_get_type
gdk_x11_display_get_type
gdk_x11_display_manager_get_type
gdk_x11_drag_context_get_type
gdk_x11_keymap_get_type
gdk_x11_screen_get_type
gdk_x11_visual_get_type
gdk_x11_window_get_type
gdk_window_impl_x11_get_type
</SECTION>
<SECTION>
@@ -1050,7 +1020,6 @@ GDK_IS_APP_LAUNCH_CONTEXT
GDK_IS_APP_LAUNCH_CONTEXT_CLASS
GDK_TYPE_APP_LAUNCH_CONTEXT
GdkAppLaunchContextClass
GdkAppLaunchContextPrivate
<SUBSECTION Private>
gdk_app_launch_context_get_type
</SECTION>

View File

@@ -1,10 +1,13 @@
#include <gdk/gdk.h>
gdk_display_get_type
gdk_display_manager_get_type
gdk_screen_get_type
gdk_drawable_get_type
gdk_window_object_get_type
gdk_keymap_get_type
gdk_app_launch_context_get_type
gdk_cursor_get_type
gdk_device_get_type
gdk_device_manager_get_type
gdk_display_get_type
gdk_display_manager_get_type
gdk_drag_context_get_type
gdk_keymap_get_type
gdk_screen_get_type
gdk_visual_get_type
gdk_window_get_type

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