Commit Graph

1669 Commits

Author SHA1 Message Date
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
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
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
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
Carlos Garnacho
8c02445bc5 testgtk: Fix gdk_rgba_parse() arguments. 2010-12-04 15:39:58 +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
0f98b15090 Add illustration to gtk_render_handle docs 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
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
e522381183 Add a background example to the docs 2010-12-04 15:39:38 +01:00
Matthias Clasen
31368f16cb Add the style example code used to generate illustrations 2010-12-04 15:39:37 +01:00
Matthias Clasen
42dd5b2e15 Adapt testgtk.css to parser changes 2010-12-04 15:39:21 +01:00
Carlos Garnacho
5bf9f8c410 testgtk: Try to locate the right file. 2010-12-04 15:39:09 +01:00
Carlos Garnacho
37f9f491d2 Make testgtk load CSS for custom styling. 2010-12-04 15:39:07 +01:00
Tristan Van Berkom
c4eff8b6b0 Added some "align" checkbuttons to show configurable cell alignments in testtreeedit. 2010-12-04 21:41:48 +09:00
Benjamin Otte
ba20a00570 tests: Remove disabled testtext example 2010-12-02 20:21:04 +01: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
03a72118ad Merge branch 'master' into treeview-refactor
Conflicts:
	tests/Makefile.am
2010-12-02 13:58:02 +09: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
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
Cosimo Cecchi
4fe23cae78 app-chooser: other misc doc fixes 2010-11-30 17:27:53 +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
Matthias Clasen
0ca07a6df7 Add a GtkSwitch 2010-11-29 10:14:21 -05: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
Emmanuele Bassi
0cd0e4091f Add GtkSwitch, a "light-switch" like widget
The GtkSwitch widget is a simple UI control that has two states: on and
off. Toggling between the states is possible by clicking the widget or
by dragging the handle.

https://bugzilla.gnome.org/show_bug.cgi?id=634987
2010-11-29 12:52:10 +00:00
Cosimo Cecchi
06f501fa07 app-chooser-button: rename GtkAppChooserComboBox -> GtkAppChooserButton 2010-11-29 12:19:18 +01: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
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
08cc318946 Fixed CellAreaScaffold for new gtk_cell_area_context_allocate() api. 2010-11-26 21:38:29 +09: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
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
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
Benjamin Otte
e0fb7a86e5 gtk: Remove GtkRuler
It is really bad code, mostly unused and no one stepped up to fix it.

Note that Gtk developers do not object to a ruler widget in priciple,
just to the current implementation. If someone wants to propose a sane
version, please don't hesitate.

https://bugzilla.gnome.org/show_bug.cgi?id=613942
2010-11-24 16:56:10 +01:00
Cosimo Cecchi
783b36398e tests: remove radio mode from the test 2010-11-24 15:50:08 +01:00
Michael Natterer
fb5dd9f72f Move all GdkDevice members to private and add one missing accessor 2010-11-23 20:25:13 +01:00
Cosimo Cecchi
05bb715c51 app-chooser: rename GtkOpenWith to GtkAppChooser 2010-11-23 17:50:15 +01:00
Cosimo Cecchi
44ef183fa1 tests: update to the new API 2010-11-23 16:53:22 +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
Cosimo Cecchi
f8a6ac5429 tests: update to new API 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
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
be18ca45f0 open-with: initial implementation of GtkOpenWithDialog 2010-11-23 16:51:38 +01:00
Chris Kühl
fad1bc0de4 tests: Fixed argument naming inconsistancy 2010-11-23 10:49:44 +01:00
Tristan Van Berkom
d56babefb4 Removed cell margin apis and now deal with "focus-line-width". 2010-11-23 16:26:46 +09:00
Javier Jardón
f427d6998d gtkoffscreenbox.c: Replace size_request by get_preferred_width/height 2010-11-17 23:58:53 +01: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
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
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
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
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
85d6aa1627 Added test and scaffolding widget for GtkCellArea. 2010-11-09 01:26:38 +09:00
Matthias Clasen
e5c0d40d94 Make GtkFileChooserButton behave as expected when expanding 2010-11-08 11:31:03 +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
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
Matthias Clasen
9dfeee8127 Make GtkFileChooserButton behave as expected when expanding 2010-11-07 11:22:07 -05:00
Cosimo Cecchi
c69075f170 tests: fix the build
gtk_box_new() changed API recently.
2010-11-05 17:01:34 +01:00
Cosimo Cecchi
fcfd494b78 tests: add a test for pixbufs implementing the GIcon interface
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-05 16:28:32 +01:00
Michael Natterer
8979855f60 tests: missed these two gtk_box_new() which sneaked in by rebasing... 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
Michael Natterer
240e1b4b59 tests: missed these two gtk_box_new() which sneaked in by rebasing... 2010-10-31 20:01:28 +01:00
Michael Natterer
3a0afce509 gtk: remove "gboolean homogeneous" from gtk_box_new()
Because it's FALSE in virtually all use cases.
2010-10-31 19:22:28 +01:00
Matthias Clasen
81d7dd0774 Add content size test for scrolled window 2010-10-31 14:10:41 -04: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
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
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
Matthias Clasen
5e0451de3a Use correct icon name in testtoolbar 2010-10-30 17:35:20 +09:00
Javier Jardón
a9894d4cf4 Use gtk_box_new() instead gtk_[v|h]box_new() 2010-10-30 05:22:58 +02:00
Javier Jardón
570b90e218 Use gtk_scrollbar_new() instead gtk_[v|h]scrollbar_new() 2010-10-30 02:26:24 +02:00
Javier Jardón
217036975a Use gtk_scale_new() instead gtk_[v|h]scale_new() 2010-10-30 02:26:24 +02:00
Javier Jardón
8177ad320e Use gtk_scale_new_with_range() instead gtk_[v|h]scale_new_with_range() 2010-10-30 02:26:23 +02:00
Javier Jardón
b3a7d401a1 Use gtk_paned_new() instead gtk_[v|h]paned_new() 2010-10-30 02:26:23 +02:00
Javier Jardón
f00f120fd7 Use gtk_ruler_new() instead gtk_[v|h]ruler_new() 2010-10-30 02:26:23 +02:00
Javier Jardón
8d008790be Use gtk_separator_new() instead gtk_[v|h]separator_new() 2010-10-30 02:26:23 +02:00
Javier Jardón
e31304fb7b Use gtk_button_box_new() instead gtk_[v|h]_button_box_new() 2010-10-30 02:26:23 +02:00
Vincent Untz
4f9f52a6ea Port tests to GtkScrollable API instead of deprecated GtkLayout API
https://bugzilla.gnome.org/show_bug.cgi?id=633374
2010-10-28 12:18:28 -04:00
Matthias Clasen
cb34d4036d Use correct icon name in testtoolbar 2010-10-27 10:14:25 -04:00
Javier Jardón
49c409c498 tests: use accessor functions to access GtkToogleButton 2010-10-26 05:02:19 +02:00
Tristan Van Berkom
209715f0ef Missed adding the scrolled window test in previous commit, added scrolled window test. 2010-10-26 11:35:04 +09:00
Tristan Van Berkom
3fe0fb4ed9 Added GtkScrollablePolicy property to scrollable interface
This patch adds the GtkScrollablePolicy type property to GtkScrollable
and implements it in all subclasses. GtkScrolledWindow observes this
property to make a good guess about when to show/hide scrollbars for
height-for-width content.

Most scrollable children do not do height-for-width *yet* but
most certainly will (toolpalette, treeview, iconview, textview
widgets all TODO), for scrollable widgets that do have a minimum
and natural size, it's important for them to observe the state
of this property in order to properly drive the scroll adjustments
according to the desired GtkScrollablePolicy. This patch makes
GtkViewport do this.

Patch also adds tests/testscrolledwindow.c to display the effects
of this property.
2010-10-26 10:15:56 +09:00
Matthias Clasen
bcb23945f6 Bring back lost functionality
Double-click to mark/unmark was lost a while ago.

Also add easy RTL testing.
2010-10-24 14:43:04 -04:00
Alberto Garcia
d6a73fd5b0 Assign all g_signal_connect() and friends to gulong variables
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=87821
2010-10-22 18:58:47 +02:00
Tristan Van Berkom
d26ac6421b Fixed problems with combination of height-for-width apis and
alignment/margin vfuncs adjust_size_request/allocation

Now get_height_for_width() will internally update the for_width
before passing it to the real height_for_width() vfunc, allowing
margins and extra space for alignments to be stripped, thus requesting
sufficient height for greater than natural widths (and also accounting
for margins properly). Test case adjusted in testadjustsize to ensure
proper behavior.
2010-10-23 00:11:37 +09:00
Matthias Clasen
8f0ae8e8a3 Add GtkGrid
GtkGrid is a container similar to GtkTable, without legacy
properties and unnecessary restrictions.
It does height-for-width geometry management.
2010-10-22 16:42:50 +02:00
Michael Natterer
283f7ddd6c tests: gdk_device_get_history() takes "gint *n_events" again, not guint 2010-10-20 12:50:21 +02:00
Ryan Lortie
ab5fb5dee5 GtkApplication rewrite 2010-10-19 01:31:09 +02:00
Christian Dywan
6db62c6617 Use new GtkComboBoxEntry in all tests 2010-10-18 09:13:44 +02:00
Tristan Van Berkom
31abdf723a Allow GtkComboBox popup to be wider than the combo itself.
This patch adds a GtkComboBox:popup-fixed-width to decide if the
popup's width should be a fixed width matching the combo's allocated width.

The patch includes a kindof hack to work around treeviews currently
not supporting height-for-width geometry (for list-mode only), this
hack can be safely removed once treeviews start reporting natural
widths properly.
2010-10-17 14:11:27 +09:00
Javier Jardón
e7f51ef6a4 Use the new GtkComboBoxText API
Also remove mentions of the old text convenience API from the docs,
and point to GtkComboBoxText instead.
2010-10-15 16:58:27 -04:00
Michael Natterer
9d9742f1e5 Bug 631599 - Allow to use arbitrary surfaces for offscreen windows
Add signal GdkWindow::create-surface which allows to use any
surface type as storage for offscreen windows.

Test the new signal in tests/gdkoffscreenbox.c
2010-10-14 13:25:23 +02:00
Tristan Van Berkom
9612c64817 Deprecate GtkComboBoxEntry in favor of added properties to GtkComboBox
GtkComboBox now sports a construct-only "has-entry" property which
decides if it uses a GtkEntry to allow additional user input. Also
it has a new "entry-text-column" to fetch strings for the entry
from the model.

This patch deprecates the GtkComboBoxEntry and updates the rest of GTK+
to use the new semantics on GtkComboBox instead.

GtkComboBoxEntry will be removed altogether before GTK+ 3, in a
later commit.
2010-10-13 21:52:27 -04:00
Matthias Clasen
29ce9e679a Add a GtkTable testcase 2010-10-13 10:49:06 -04:00
Havoc Pennington
7597a35477 add tests/testexpand.c used to test the expand props on GtkWidget
There are two colored boxes with toggle buttons nested
inside several GtkBox. Toggling these to expand mode
should automatically propagate expansion up through
the several GtkBox such that resizing the window
results in resizing the colored boxes.

https://bugzilla.gnome.org/show_bug.cgi?id=628902
2010-10-13 10:49:04 -04:00
Tristan Van Berkom
e3cc39cb98 Removed all traces of GtkWrapBox from GTK+. 2010-10-13 22:26:44 +09:00
Owen W. Taylor
a4a7a611f2 GtkWindow: Allow setting size from geometry
If you set a geometry widget via gtk_window_set_geometry_hints() it
becomes very hard to compute appropriate toplevel sizes in pixels
to make the window a particular size. Synthesizing strings and passing
them to gtk_window_parse_geometry() is possible, but to avoid
avoid such ugliness, add functions:

 gtk_window_set_default_geometry()
 gtk_window_resize_to_geometry()

That act like gtk_window_set_default_size() and
gtk_window_resize() but are in terms of the resize increments of the
geometry widget.

https://bugzilla.gnome.org/show_bug.cgi?id=631796
2010-10-11 14:06:16 -04:00
Owen W. Taylor
88cf547029 Fix handling of the geometry widget
The geometry widget feature of gtk_window_set_geometry_hints() has
never really worked right because the calculation that GTK+ did to
compute the base size of the window only worked when the geometry
widget had a larger minimum size than anything else in the window.

Setup:
* Move the GtkSizeGroup private functions to a new private header
  gtksizegroup-private.h
* Add the possibilty to pass flags to _gtk_size_group_queue_resize(),
  with the flag GTK_QUEUE_RESIZE_INVALIDATE_ONLY to suppress adding
  the widget's toplevel to the resize queue.
* _gtk_container_resize_invalidate() is added to implement that feature
* _gtk_widget_override_size_request()/_gtk_widget_restore_size_request()
  allow temporarily forcing a large minimum size on the geometry
  widget without creating resize loops.

GtkWindow:
* Compute the extra width/height around the geometry widget
  correctly; print a warning if the computation fails.
* Always make the minimum size at least the natural minimum
  size of the toplevel; GTK+ now fails badly with underallocation.
* Always set the base size hint; we were failing to set it
  properly when the specified minimum size was overriden, but
  it's harmless to always set it.

Tests:
* New test 'testgeometry' that replaces the 'gridded geometry' test
  from testgtk. The new test is roughly similar but creates a bunch
  of windows showing different possibilities.
* The testgtk test is removed. No need to have both.

https://bugzilla.gnome.org/show_bug.cgi?id=68668
2010-10-11 14:05:29 -04:00
Cody Russell
fe9a45c413 Remove uses of gtk_statusbar_set_has_resize_grip()
This function is going away.
2010-10-08 02:14:19 -04:00
Benjamin Otte
2a1650843d Revert "testgtk: Remove snapshot test"
This reverts commit 99c82af20a and fixes
up things to compile again. Of course, the snapshotting now uses
gtk_widget_draw() instead.
2010-10-05 23:22:55 +02:00
Michael Natterer
a472d1a400 tests: don't call gtk_widget_get_allocation() on NULL children 2010-10-05 13:05:56 +02:00
Javier Jardón
e141bd3287 testtext: Use gtk_widget_destroy() instead gtk_object_destroy() 2010-09-29 05:58:02 +02:00
Javier Jardón
b072ea220c Remove unneded casts
As gtk_adjustment_new() returns a GtkAdjustment* now

https://bugzilla.gnome.org/show_bug.cgi?id=630731
2010-09-29 01:18:10 +02:00
Javier Jardón
42f480a537 gtk_adjustment_new() should return a GtkAdjustment*
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=630731
2010-09-29 01:18:10 +02:00
Benjamin Otte
bf81be51eb testgtk: Use gtk_widget_set_visual() 2010-09-28 19:11:46 +02:00
Tristan Van Berkom
7047502d84 Fix erroneous usage of height-for-width apis in gtk_widget_real_adjust_size_allocation().
When fitting a widget into its allocation, the second dimension
is always dependent on the first, so gtk_widget_get_preferred_size()
cannot be used directly (because we want the natural height for
the allocated width, not the natural height for the natural width,
which is generally a smaller height than the height-for-minimum-width
or height-for-allocated-width).

Added test to testadjustsize to ensure proper behaviour.
2010-09-27 21:15:16 +09:00
Tristan Van Berkom
e4a0a39a56 Fixing tests/ build for removal of GtkObject type. 2010-09-27 15:10:23 +09:00
Matthias Clasen
f53ad33994 Remove GtkObject completely 2010-09-26 22:18:19 -04:00
Javier Jardón
3b8184cfee Move classes that currently derive from GtkObject to GInitiallyUnowned 2010-09-26 22:18:13 -04:00
Benjamin Otte
f15860fb31 tests: Port testadjustsize to draw vfunc 2010-09-27 00:50:14 +02:00
Benjamin Otte
d9c9259861 Move GtkSizeRequest into GtkWidget
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.

Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.

So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
  gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
  gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.

The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
2010-09-26 15:11:45 +02:00
Benjamin Otte
aa70d351c4 tests: Get rid of gdk_drawable_get_size() usage in testwindows 2010-09-26 15:11:45 +02:00
Benjamin Otte
cdba1f6519 tests: Get rid of gdk_drawable_get_size() usage in offscreenbox 2010-09-26 15:11:45 +02:00
Benjamin Otte
15497825c0 testgtk: Get rid of gdk_drawable_get_size() usage 2010-09-26 15:11:44 +02:00
Benjamin Otte
1d3f6b30b0 API: Rename gtk_cairo_paint_*() to gtk_paint_*()
Large patch, but just renaming.
Indentation should still mostly be correct because I took care of
keeping the indentation for this function name.
2010-09-26 15:11:42 +02:00
Benjamin Otte
45836db7a5 test: Port offscreen test to draw vfunc 2010-09-26 15:11:42 +02:00
Benjamin Otte
e194bc14fd testgtk: Use draw signal in layout test 2010-09-26 15:11:42 +02:00
Benjamin Otte
5442f5b9f2 testgtk: Use draw signal in scrolling test 2010-09-26 15:11:42 +02:00
Benjamin Otte
0ab6956579 testgtk: Use draw signal in cursors example 2010-09-26 15:11:41 +02:00
Benjamin Otte
87940287aa testgtk: Remove non-existing property from frame constructor 2010-09-26 15:11:41 +02:00
Benjamin Otte
38c932ace6 testgtk: Use draw signal in gridded geometry example 2010-09-26 15:11:41 +02:00
Benjamin Otte
c42f6ff4bf testgtk: Make big windows test not use expose events
Instead, use gdk_window_set_background().
2010-09-26 15:11:41 +02:00
Benjamin Otte
e1571a5936 testgtk: Use draw signal in resize grips example 2010-09-26 15:11:41 +02:00
Benjamin Otte
ba21d3e687 tests: Use draw vfunc in print-editor 2010-09-26 15:11:41 +02:00
Benjamin Otte
e65b1cfd76 testoffscreen: Connect to draw signal 2010-09-26 15:11:41 +02:00
Benjamin Otte
9cd83da6dc tests: Use draw signal in testinput 2010-09-26 15:11:41 +02:00
Benjamin Otte
c6f28c3dbc testtooltips: Connect to draw signal 2010-09-26 15:11:41 +02:00
Benjamin Otte
07d0c0b921 testtooltips: Don't call gdk_window_get_pointer() in expose events 2010-09-26 15:11:41 +02:00
Benjamin Otte
b8ebcdd0e0 testgtk: Connect to draw signal in "rotated text" example 2010-09-26 15:11:41 +02:00
Benjamin Otte
7af767333e testgtk: Connect to draw signals in "composited window" example 2010-09-26 15:11:41 +02:00
Benjamin Otte
ec604d11ec testgtk: Connect to draw signal in alpha test
Test still behaves weird, no idea why though.
2010-09-26 15:11:41 +02:00
Benjamin Otte
dfd0ceab1c tests: Connect to draw signal in testimage 2010-09-26 15:11:40 +02:00
Benjamin Otte
f8b420783d tests: Connect to draw signal in testoffscreenwindow 2010-09-26 15:11:40 +02:00
Benjamin Otte
0ad2f57332 tests: Connect to draw signal in testellipsise
The test seems broken, not sure why.
2010-09-26 15:11:40 +02:00
Benjamin Otte
9c980372d2 testcairo: Connect to draw signal 2010-09-26 15:11:40 +02:00
Benjamin Otte
c85f91e14c tests: Remove ability to set backend from testfilechooser
There's no backends anymore
2010-09-26 15:11:35 +02:00
Benjamin Otte
fc52c9daf3 testgtk: Check visual, not colormap for RGBA availability 2010-09-26 15:11:32 +02:00
Benjamin Otte
d7ede44dae testgtk: gtk_widget_set_colormap() => gtk_window_set_visual() 2010-09-26 15:11:32 +02:00
Benjamin Otte
600f52321b tests: Don't set colormap when creating offscreen windows 2010-09-26 15:11:31 +02:00
Benjamin Otte
08e6fc11ad testgtk: Don't set colormap when creating GDK windows 2010-09-26 15:11:31 +02:00
Benjamin Otte
a38472c139 testgtk: No need to set a custom colourmap here 2010-09-26 15:11:31 +02:00
Benjamin Otte
c340fb7efd tests: No need to allocate colors anymore 2010-09-26 15:11:31 +02:00
Benjamin Otte
6607f2b794 API: Rename gdk_set_source_pixmap() to gdk_set_source_window()
That's what it's used for now.
2010-09-26 15:11:30 +02:00
Benjamin Otte
332652f702 API: Change offscreen windows to use a cairo_surface_t
This requires changes to all the offscreen surface getters that used to
return a GdkPixmap before.
2010-09-26 15:11:29 +02:00
Benjamin Otte
19bad9fecc tests: Convert testinput to use cairo_surface_t 2010-09-26 15:11:11 +02:00
Benjamin Otte
039e0c273a testoffscreen: Remove unused code 2010-09-26 15:11:11 +02:00
Benjamin Otte
99c82af20a testgtk: Remove snapshot test
gtk_widget_get_snapshot is on its way out.

The test can be added back once we have gtk_widget_draw(), but until
then, there's no way to take snapshots.
2010-09-26 15:04:02 +02:00
Benjamin Otte
806a7239ae widget: shape_combine_mask => shape_cobine_region
Replace gtk_widget_shape_combine_region() with
gtk_widget_shape_combine_mask() and
gtk_widget_input_shape_combine_region() with
gtk_widget_input_shape_combine_mask().
As GdkBitmap is going away, and the region equivalents already exist,
this seems like pretty much the default step to take.

Includes code to fix up the users.
2010-09-26 15:02:59 +02:00
Benjamin Otte
dceb149ca4 testgtk: Convert WM hints example to use gdk_window_set_icon_list()
gdk_window_set_icon() is about to go away.

Also removes the circles.xbm file and uses the oncluded openfile logo
instead.
2010-09-26 15:02:59 +02:00
Matthias Clasen
8578ff4b38 Remove gtk_notebook_set_window_creation_hook in testnotebookdnd.c 2010-09-24 11:53:20 -04:00
Matthias Clasen
3c19eea34b GtkNotebook: replace group by group_name
Dealing with bare pointers is problematic for language bindings,
using interned strings is much more straightforward and more than
good enough for what is needed here.

http://bugzilla.gnome.org/show_bug.cgi?id=630521
2010-09-24 11:13:30 -04:00
Javier Jardón
fb62d6105f Do not disable deprecation guards 2010-09-22 04:21:13 +02:00
Tristan Van Berkom
e976abe825 Split up GtkWrapBox:spreading property into two orientation specific properties.
Now GtkWrapBox has "horizontal-spreading" and "vertical-spreading" options,
before GtkWrapBox never spread out children across the opposing orientation
(i.e. it never grew "lines" larger then their natural width, they would
act as if set to GTK_WRAP_BOX_SPREAD_START, now they are completely configurable).
2010-09-21 22:00:54 +09:00
Owen W. Taylor
14e38da150 Only store error codes in inner-most X error trap
When an error occurs with nested traps in place, only the innermost
trap should have the error code stored in it; outer traps are
shielded by the inner trap.

https://bugzilla.gnome.org/show_bug.cgi?id=629608
2010-09-20 16:35:41 -04:00
Havoc Pennington
e32ab82069 Improve tests for X error traps, fix two bugs
* don't lose track of previous X error handler
  if nested traps are pushed
* free any remaining traps when display
  is finalized

Test will fail unless bug 630032 is closed so
gdk_display_close() works.

https://bugzilla.gnome.org/show_bug.cgi?id=630033
2010-09-18 23:03:31 -04:00
Matthias Clasen
4f3e5e6ebc Add some minimal test for X error traps 2010-09-18 18:18:36 -04:00
Matthias Clasen
2f78aa3024 Rename h/v-align to h/valign
And adjust the getters and setters to match. Also include some
documentation by Havoc Pennington about adjustment of size requests
and allocations.
2010-09-15 20:14:56 -04:00
Tristan Van Berkom
896e249e8f Added a default size of a magic number to testwrapbox.c
This was added to the test only for the sake of making it
easier to reproduce a bug with scrolled windows (bug 629778).

Expected behaviour: The vertical scrollbar should dissapear as soon
as the required height for the full allocation width (without any
vertical scrollbar) is small enough to not need a scrollbar.
2010-09-16 01:41:53 +09:00
Javier Jardón
b140884fec Use gtk_size_request_get_size() instead deprecated gtk_widget_size_request()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629598

Signed-off-by: Javier Jardón <jjardon@gnome.org>
Signed-off-by: Tristan Van Berkom <tristanvb@openismus.com>
2010-09-15 03:02:58 +02:00
Matthias Clasen
b64e91adf0 Remove fill options from GtkWrapBox
GtkWidget alignment properties make this unnecessary in new containers.
2010-09-13 18:47:59 -04:00
Matthias Clasen
0e484a83d1 Remove padding from GtkWrapBox
GtkWidget margins make this unnecessary in new containers.
2010-09-13 18:47:58 -04:00
Javier Jardón
9e81022bf6 Use gtk_size_request_get_size() instead deprecated gtk_widget_get_child_requisition()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=629177
2010-09-13 21:26:01 +02:00
Tristan Van Berkom
96c3858b21 Make testwrapbox scrolled window scrollbars automatic.
Did this in the hope to reproduce infinite recursion bugs
with height-for-width in scrolled windows (see complex bgo #611740
for reference for now).
2010-09-14 02:32:36 +09:00
Havoc Pennington
1dc9451b57 Add padding and alignment tests to testadjustsize.c 2010-09-12 21:47:10 -04:00
Havoc Pennington
dc1940e99e Add testadjustsize test, to test new adjust size methods and related features
This will test size adjust, and interactions with other padding and border
2010-09-12 21:47:10 -04:00
Tor Lillqvist
dd36afc207 Don't use the same name for a function that used to be a variable
Rename the gtk_major_version() etc functions I introduced yesterday to
start with gtk_get. Avoids misleading results in client programs whose
developers that don't notice the change or the compiler warnings, and
when recompiling against gtk3 then use the function addresses as the
version numbers.
2010-09-09 11:06:26 +03:00
Colin Walters
913cdf3be7 GDK: Prefix key names with KEY_
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.

For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.

Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
2010-09-08 18:51:44 -04:00
Tor Lillqvist
cb24bcc613 Turn the gtk version and age variables into functions
Having variables exported from a DLL is slightly painful and
potentially error-prone on Windows, so let's try get rid of them now
when we can. Starting with these.
2010-09-08 21:31:33 +03:00
Javier Jardón
4e6a665e61 tests: Use gtk_widget_set_size_request() instead gtk_widget_set_usize() 2010-09-08 18:39:36 +02:00
Benjamin Otte
fc46f2ca2f tests: Remove all code relating to the blink menu item 2010-09-03 13:38:29 +02:00
Matthias Clasen
18b47b6cd0 Remove blinking from status icons
This feature was just a bad idea.
2010-09-02 09:37:06 -04:00
Matthias Clasen
76b21033f9 Adapt tests to dialog api change 2010-09-02 09:31:54 -04:00
Tristan Van Berkom
68568cff66 Enhanced/Simplified GtkWrapBox api as per Havoc's comments.
Made an enum GtkWrapBoxPacking for the expand/fill horizontal/vertical
boolean options... changed xpadding/ypadding to be horizontal-padding
and vertical-padding for a more consistent api and better readablility.
2010-09-02 15:36:36 +09:00
Tristan Van Berkom
c9ccc7551b Some api changes for GtkWrapBox
Ammended documentation for GTK_WRAP_BOX_SPREAD_EVEN and renamed
GTK_WRAP_BOX_SPREAD_BEGIN -> GTK_WRAP_BOX_SPREAD_START.
2010-09-02 14:22:55 +09:00
Matthias Clasen
6b5672c199 Remove now unused GtkProgressBarOrientation enum 2010-09-01 23:30:21 -04:00
Matthias Clasen
3302f22da2 Adapt testgtk progressbar test to api changes 2010-09-01 23:26:19 -04:00
Tristan Van Berkom
bbf38a8ebd Fixing email address in copyright header for testwrapbox test. 2010-08-30 18:24:41 +09:00
Tristan Van Berkom
deaa351630 Added initial revision of GtkWrapBox container widget and test case. 2010-08-28 16:01:59 +09:00
Javier Jardón
72fad93587 tests/testsocket: Fix broken test
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=627867
2010-08-24 23:49:21 +02:00
Javier Jardón
a0e0c9e89c tests/testgtk.c: Use accessor functions to access GtkWindow 2010-08-23 20:17:41 +02:00
Javier Jardón
c8afa3f000 tests/testxinerama.c: Use accessor functions to access GtkWidget 2010-08-22 18:31:12 +02:00
Javier Jardón
bd52a8541e tests/testwindows.c: Use accessor functions to access GtkWidget 2010-08-22 18:31:06 +02:00
Javier Jardón
42c71a1d4a tests/testtooltips.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:58 +02:00
Javier Jardón
f332976871 tests/testsocket_common.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:51 +02:00
Javier Jardón
b012f0f930 tests/testsocket.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:44 +02:00
Javier Jardón
07e38c51e8 tests/testselection.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:37 +02:00
Javier Jardón
1577a7d415 tests/testoffscreenwindow.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:31 +02:00
Javier Jardón
26d837dd2f tests/testoffscreen.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:23 +02:00
Javier Jardón
0059a30f0d tests/testinput.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:17 +02:00
Javier Jardón
4a9c3bc214 tests/testiconview-keynav.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:10 +02:00
Javier Jardón
252a8fc048 tests/testgtk.c: Use accessor functions to access GtkWidget 2010-08-22 18:30:03 +02:00
Javier Jardón
1b7b30bf31 tests/testframe.c: Use accessor functions to access GtkWidget 2010-08-22 18:29:56 +02:00
Javier Jardón
4210ec87b0 tests/testellipsise.c: Use accessor functions to access GtkWidget 2010-08-22 18:29:49 +02:00
Javier Jardón
067f418604 tests/testcairo.c: Use accessor functions to access GtkWidget 2010-08-22 18:29:42 +02:00
Javier Jardón
40dbb2deb2 tests/print-editor.c: Use accessor functions to access GtkWidget 2010-08-22 18:29:35 +02:00
Javier Jardón
5d48658f58 tests/gtkoffscreenbox.c: Use accessor functions to access GtkWidget 2010-08-22 18:29:28 +02:00
Javier Jardón
9016f0d9a6 Use standard icon names in demos and tests 2010-08-21 03:08:15 +02:00
Tristan Van Berkom
d73c11b549 Added test case to testheightforwidth.c to show GtkComboBox/GtkMenu wrapping in action 2010-08-18 20:01:28 -04:00
Benjamin Otte
dc7a8f9be7 tests: unbreak testwindows test
Delete code that was broken and also used the APIs I just removed.
2010-08-15 03:51:39 +02:00
Javier Jardón
374d5094a3 Use accessor functions to access GtkToolbar 2010-08-14 02:25:33 +02:00
Javier Jardón
1516c86ca4 Use accessor funcions to access GtkCalendar 2010-08-12 18:02:31 +02:00
Benjamin Otte
aaf70d1327 testgtk: Use Cairo to load XBM image
This should really use GdkPixbuf, but apparently we can't load XBM
images. And I'm too lazy to convert it.
2010-08-10 21:02:31 +02:00
Benjamin Otte
de285edc72 testgtk: Use Pixbufs in the shapes example 2010-08-10 21:02:31 +02:00
Benjamin Otte
2513636877 testgtk: Rename pixmap => pixbuf in various places
Now that we use Pixbufs for the tests instead of Pixmaps, we should name
the tests like that.
2010-08-10 21:02:31 +02:00
Benjamin Otte
6b19815f87 testgtk: Use pixbufs instead of pixmaps
This is for creating a GtkImage with an icon.
2010-08-10 21:02:31 +02:00
Benjamin Otte
ad571a3a5e testgtk: Make image test not use Pixmaps, but Pixbufs 2010-08-10 21:02:31 +02:00
Benjamin Otte
727122b8d6 testgtk: Fix types and get rid of casting 2010-08-10 21:02:31 +02:00
Benjamin Otte
f3c3e47db7 testdnd: Convert to use pixbufs as icons
Using Pixmaps is outdated.
2010-08-10 21:02:30 +02:00
Benjamin Otte
c661eb73a1 testgtk: Remove image from drawable test
The test only tested old APIs.
2010-08-10 21:02:27 +02:00
Benjamin Otte
8f21b09eee tests: remove "draw drawable" button from testwindows test
draw_drawable is gone soon. And testing the proper functioning of
drawing calls is Cairo's job anyway.
2010-08-10 21:02:27 +02:00
Benjamin Otte
a513bdf3f7 testgtk: Remove alpha drawing test
We use Cairo for that these days.
2010-08-10 21:02:26 +02:00
Benjamin Otte
8f19db7565 Replace gdk_rgb_find_color()
Use gdk_colormap_alloc_color() instead.
2010-08-10 21:02:26 +02:00
Benjamin Otte
32c95ebe27 tests: remove testrgb test
This is in preparation for the GdkRGB removal
2010-08-10 21:02:25 +02:00
Javier Jardón
3ccc617052 Completely remove any use of GtkWindow allow-grow and allow-shrink properties
These have been deprecated and removed from master.
GtkWindow:resizable should be used instead.
This completes commit 1a03a65e36

Reported by Benjamin Otte
2010-08-07 17:19:16 +02:00
Tristan Van Berkom
208ba9bb50 Make GtkFrame allocate its label considering natural size requests
Also like the GtkExpander, the label widget is allocated the minimum
height for its allocated width and the remaining space is given to
the child, test case included.
2010-08-06 16:57:11 -04:00
Tristan Van Berkom
e83a8826e6 Implemented GtkSizeRequest on GtkExpander and added test
Now the expander requests and distributes space naturally,
the expander widget prioritizes the child widget vertically
and only allocates the minimum height for width to the label
widget.
2010-08-05 12:50:25 -04:00
Benjamin Otte
e0efb8798a testgtk: Remove unused variable 2010-07-26 16:42:48 +02:00
Benjamin Otte
e8bf80ebea testgtk: Draw rotated text example with pangocairo 2010-07-26 16:42:48 +02:00
Benjamin Otte
8630657324 testgtk: Replace gdk_draw_rectangle() with Cairo 2010-07-26 16:42:48 +02:00
Benjamin Otte
0a451f508b test: Convert testinput to Cairo
The test is broken though as it draws onto windows outside of expose
events.
And we all know you shouldn't do that.
2010-07-26 16:42:48 +02:00
Benjamin Otte
6dd7e5af08 tests: Make testoffscreen use Cairo 2010-07-26 16:42:48 +02:00