Commit Graph

23909 Commits

Author SHA1 Message Date
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
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
865eb60d21 Fixed GtkCellLayout to pack cells via the api when parsing builder input. 2010-11-29 13:03:54 +09:00
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
d3aed12b65 Removed cell_layout implementation details in GtkTreeViewColumn in favor of cell_layout->get_area 2010-11-29 13:01:49 +09:00
2394f5e49b Touching up GtkCellArea docs. 2010-11-29 11:02:29 +09:00
9ee9081405 Added initial detailed docs for GtkCellArea. 2010-11-29 10:55:50 +09:00
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
217f688376 Remove obsolete code line 2010-11-28 21:14:33 +01:00
cbbff6c5e6 Add temporary hack to get the row heights right 2010-11-28 21:02:36 +01:00
6568b59e8a Remove unused retrieval of focus-line-width 2010-11-28 20:40:59 +01:00
7527350d69 validate_row no longer uses focus-line-width 2010-11-28 20:39:51 +01:00
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
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
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
5df7dab3cf Changed all the flush apis on GtkCellAreaContext for a single "reset" api. 2010-11-27 16:05:14 +09:00
cbc4416c8e Removing the height_for_width vfuncs on GtkCellAreaContextClass which I forgot to remove. 2010-11-27 15:40:45 +09:00
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
08cc318946 Fixed CellAreaScaffold for new gtk_cell_area_context_allocate() api. 2010-11-26 21:38:29 +09:00
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
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
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
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
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
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
57a94bfb53 Merge branch 'master' into treeview-refactor 2010-11-25 15:07:47 +09:00
eb5a500495 Changing GtkBox:fill child property default back to TRUE.
Since Havoc's patches introducing the GtkWidget halign/valign
properties, fill should always be TRUE. If the widget should
not fill its allocated space then it should set the halign or
valign properties for that purpose.

This also consequently fixes bug 634592.
2010-11-25 14:37:02 +09:00
6716e7c3f1 Fixed GtkMenuShell to deactivate itself at dispose time
Since GdkDevice stuff, it seems that destroying an active
menu doesnt get rid of all the device grabery, this fixes
bug 635693.
2010-11-25 14:08:55 +09:00
2e3935ba9d Fix missing (transfer) annotations in GDK
Mostly missing (transfer none).
2010-11-24 21:37:20 +01:00
c00b85bf3f Bug 565665 - GtkTargetEntry member target should be const char * 2010-11-24 21:01:45 +01:00
aaf8530177 gdk: remove GdkDeviceKey and GdkDeviceAxis from the public API
move GdkDeviceKey to gdkdevice.c because it's still used there, remove
GdkDeviceAxis entirely.
2010-11-24 20:28:19 +01:00
bdf18500ec gdk: gdk_device_get_n_keys() is now Since: 2.24 2010-11-24 20:16:25 +01:00
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
c5e25b1532 gtk: Remove unused variables from build scripts
ALL_FILES and INCLUDE_VARIABLES are unused
2010-11-24 16:40:40 +01:00
0c0b1c3a46 gtk: Uncruftify gtk.symbols 2010-11-24 16:39:32 +01:00
fd96b16c15 gdk: Remove unused macros from build
Both ALL_FILES and INCLUDE_VARIABLES don't exist anymore
2010-11-24 16:18:46 +01:00
cca530070e gdk: Clean up gdk.symbols file
Remove all the macro madness and sort it alphabetically.
2010-11-24 16:15:47 +01:00
4e59750ac0 No fsync on Windows 2010-11-24 14:36:29 +02:00
290ecb0aba Fix compilation breakage in gdk/win32 2010-11-24 14:26:53 +02:00
c0aae6644a Replace references to sealed GdkDevice private variables with accessor calls in quartz. 2010-11-23 16:53:45 -08:00
38b8ab3002 [l10n] Updated German translation 2010-11-23 21:14:15 +01:00
fb5dd9f72f Move all GdkDevice members to private and add one missing accessor 2010-11-23 20:25:13 +01:00
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
fad1bc0de4 tests: Fixed argument naming inconsistancy 2010-11-23 10:49:44 +01:00
d56babefb4 Removed cell margin apis and now deal with "focus-line-width". 2010-11-23 16:26:46 +09:00
6c6b493926 iconcache: Ensure we don't lose data on power loss
fsync() should ensure our data hits disk; since corrupt icon
caches break all apps, we need to ensure it's valid.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635307
2010-11-22 20:49:59 +01:00
323df2b280 Make gdk_event_apply_filters safe against changes in filter list
An event filter may add or remove filters itself.  This patch does
two things to address this case.  The first is to take a temporary
reference to the filter while it is being used.  The second is
to wait until after the filter function is run before determining
the next node in the list to process.  This guards against
changes to the next node.  It also does not run functions
that have been marked as removed.  Though I'm not sure if this
case can arise.

https://bugzilla.gnome.org/show_bug.cgi?id=635380
2010-11-22 13:16:24 -05:00
abe20a7c97 docs: Add private structures to private sections 2010-11-20 21:26:50 +01:00
a61d63d607 docs: Add new GtkAssitant API to gtk3-sections 2010-11-20 21:15:00 +01:00
5cd64fbd08 docs: Add the new GtkScrollablePolicy API to gtk3-sections 2010-11-20 21:14:41 +01:00