summaryrefslogtreecommitdiff
path: root/gtk/gtkcellareabox.c
Commit message (Collapse)AuthorAgeFilesLines
* Code cleanupMatthias Clasen2015-07-311-8/+7
| | | | | | Use g_slist_free_full more consistently. This commit just converts the obvious cases where g_slist_forall is directly followed by g_slist_free.
* GtkCellAreaBox: Explicitly notify orientationMatthias Clasen2014-06-091-5/+7
|
* GtkCellAreaBox: Use G_PARAM_EXPLICIT_NOTIFYMatthias Clasen2014-06-091-1/+1
|
* docs: use Returns: consistentlyWilliam Jon McCann2014-02-191-2/+2
| | | | Instead of Return value:
* docs: don't use <emphasis>William Jon McCann2014-01-281-2/+2
| | | | It is a little heavy handed. The text can speak for itself.
* docs: don't link to child properties like propertiesWilliam Jon McCann2014-01-211-1/+1
|
* gtk: Use new macros for defining private dataEmmanuele Bassi2013-07-091-6/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702996
* gtkprivate: #define OPPOSITE_ORIENTATIONBenjamin Otte2013-05-011-4/+0
| | | | and use it
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* GtkCellAreaBoxPrivate: Improve struct packingMatthias Clasen2011-04-121-2/+1
|
* Minor documentation improvementsMurray Cumming2011-02-231-1/+1
| | | | Mostly correcting it's to its and changing some , to .
* Don't export gtk_cell_area_box_init_groupsMatthias Clasen2011-02-081-2/+2
| | | | | That function can't be meant to be public, since it take a GtkCellAreaBoxContext argument, which is not a public type.
* Redo patch in efae64b (Set vertical/horizontal class...)Carlos Garnacho2011-01-121-20/+0
| | | | | Add a _gtk_orientable_set_style_classes() function so all orientation changes to style happen in a single place.
* Set vertical/horizontal class on all widgets overriding ↵Carlos Garnacho2011-01-121-0/+21
| | | | | | | GtkOrientable::orientation This is so g_object_set() on that property leaves widgets' style in a meaningful state. Fully fixes bug 639157.
* gtk: Prefix GtkCellAreaBoxContext symbols with an underscoreBenjamin Otte2011-01-111-10/+10
| | | | They are private.
* gtk: Rename private header to private nameBenjamin Otte2011-01-111-1/+1
| | | | gtk/gtkcellareaboxcontext.h -> gtk/gtkcellareaboxcontextprivate.h
* Fixed GtkCellAreaBox to not allocate invisible cells.Tristan Van Berkom2011-01-101-0/+3
| | | | | This was already done for the most part but not taken care of for single cell groups (which is the most common case).
* Reduce includes of gtktypeutils.h to a minimumMatthias Clasen2011-01-041-0/+1
|
* Added "fixed-size" cell property to GtkCellAreaBoxTristan Van Berkom2010-12-221-28/+176
| | | | | | 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.
* Fix up symbol listsMatthias Clasen2010-12-191-1/+1
|
* Trivial changesMatthias Clasen2010-12-171-634/+668
| | | | Whitespace fixes, comment formatting, etc
* No links in title, pleaseMatthias Clasen2010-12-171-1/+1
|
* Fix background area calculation in RTL modeKristian Rietveld2010-12-161-4/+20
|
* Added apis to GtkCellArea for GtkIconView purposes.Tristan Van Berkom2010-12-131-0/+20
| | | | | | | | | | | | | | | | 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.
* Fixed some glitches in GtkCellAreaBox keynav from my last commit.Tristan Van Berkom2010-12-121-5/+5
|
* Make GtkCellAreaBox remember what was the last focus cell so that whenTristan Van Berkom2010-12-121-13/+54
| | | | | cycling focus from row to row for a horizontal area we can remember where focus was the last time around.
* Added 'background_area' calculation to GtkCellAreaClass->foreach_alloc vfuncTristan Van Berkom2010-12-081-160/+38
| | | | | | | 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.
* Fix GtkCellAreaBox allocate_cells_manually to handle undersized areas.Tristan Van Berkom2010-12-061-1/+4
|
* Added gtk_cell_area_foreach_alloc() to further simplify GtkCellArea subclassesTristan Van Berkom2010-12-061-149/+29
| | | | | | | | | | | | 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().
* Changed gtk_cell_area_forall to gtk_cell_area_foreach since thats more ↵Tristan Van Berkom2010-12-061-6/+7
| | | | | | widely used semantics. Also gave a boolean return value to the callback to allow breaking out of the loop.
* Added proper handling of right to left layouting of cells to GtkCellAreaBox.Tristan Van Berkom2010-12-051-22/+80
|
* Fixing gtk_cell_area_box_focus().Tristan Van Berkom2010-12-041-1/+1
| | | | | | 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.
* Changed GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID for ↵Tristan Van Berkom2010-12-041-2/+2
| | | | GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID
* Adding documentation for GtkCellAreaBox.Tristan Van Berkom2010-12-031-0/+110
|
* Added some rules to GtkCellAreaBox for rendering the last cell.Tristan Van Berkom2010-12-011-0/+32
| | | | | | | | | | | - 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.
* Added special clause to GtkCellAreaBox focus navigation.Tristan Van Berkom2010-12-011-0/+10
| | | | | | 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).
* Fix GtkCellAreaBox to not paint a focus rectangle while a cell is currently ↵Tristan Van Berkom2010-11-291-0/+6
| | | | being edited.
* Changed cell area/renderer "can_focus" semantics to "is_activatable" across ↵Tristan Van Berkom2010-11-291-1/+1
| | | | | | | | 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.
* Fixed GtkCellAreaBox->focus() to not give focus to cells that are siblings ↵Tristan Van Berkom2010-11-291-2/+2
| | | | of an intentional focus cell.
* Make focus rectangle painted on all cells if the GtkCellAreaBox is requested ↵Tristan Van Berkom2010-11-291-3/+10
| | | | to paint focus and none of the cells are activatable.
* Allow non-editable cells to receive focusKristian Rietveld2010-11-281-18/+9
| | | | | | | 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.
* Available extra space could be less than zeroKristian Rietveld2010-11-281-3/+12
| | | | | | 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.
* Changed all the flush apis on GtkCellAreaContext for a single "reset" api.Tristan Van Berkom2010-11-271-7/+7
|
* Fixing GtkCellAreaBox at render time to consider height-for-width when ↵Tristan Van Berkom2010-11-261-12/+22
| | | | | | stacked vertically Also bullet-proofing GtkCellAreaBoxContext at allocate time.
* Finally really support rendering of cells in an unallocated context.Tristan Van Berkom2010-11-261-16/+123
| | | | | | | | | | | | | | | 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.
* Revert "Removed tons of api that we dont absolutely need in GtkCellAreaContext:"Tristan Van Berkom2010-11-261-18/+39
| | | | This reverts commit 5f7787ab2ead2cdd11ebe17b16dd9498daaaf9c5.
* Added gtk_cell_renderer_get_aligned_area() and class vfunc.Tristan Van Berkom2010-11-251-1/+1
| | | | | | | | | | | | | 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.
* Removed tons of api that we dont absolutely need in GtkCellAreaContext:Tristan Van Berkom2010-11-251-39/+18
| | | | | | | | | | | | | | | - 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).
* Make GtkCellAreaBox handle rendering without a previous allocation in the ↵Tristan Van Berkom2010-11-251-15/+25
| | | | | | | | | 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.
* Removed cell margin apis and now deal with "focus-line-width".Tristan Van Berkom2010-11-231-3/+3
|