2000-12-20 Alexander Larsson <alexl@redhat.com>
* gtk/gtkinvisible.c (gtk_invisible_realize):
Attach the style to the window so that the style it is not
leaked when unrealizing the window.
2000-12-18 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
begin/end user action where appropriate
(gtk_text_view_commit_handler): add begin/end user action
* gtk/gtktextbuffer.c: add begin/end user action signals, and
bracket interactive operations with begin/end user action pair.
* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
"interactive" arg from insert_text and delete_text signals.
Add begin_user_action, end_user_action signals
(gtk_text_buffer_begin_user_action):
(gtk_text_buffer_end_user_action): New functions to delimit
a user-visible action
* gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
signals.
2000-12-18 Havoc Pennington <hp@redhat.com>
* gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
was pretty non-working.
* gtk/testtext.c (fill_file_buffer): make this a bit more robust
by passing the length to g_utf8_validate().
2000-12-16 Havoc Pennington <hp@pobox.com>
* gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c:
Port to GObject, can go back in gdk-pixbuf after setting up
a gdk-pixbuf-marshal.h header over there.
* gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
(gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
args
(gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
set
(gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
here, do it when we create the buttons later
(gtk_tree_view_realize_buttons): add some g_return_if_fail
(gtk_tree_view_map): paranoia checks that column->button is shown
and unmapped
(gtk_tree_view_size_request): only request visible children.
Move header size calculation in here, for cleanliness, and
to maintain invariants for child widgets if we eventually
let users set different children inside the buttons
(gtk_tree_view_map_buttons): factor out code to map buttons,
since it was being called several times
(gtk_tree_view_size_allocate_buttons): move_resize the drag
windows instead of just moving them; their height may change
if we allow random widgets in there, or the theme changes.
(gtk_tree_view_size_allocate): move button size allocation
above emitting the scroll signals, to ensure a sane state when we
hit user code
(gtk_tree_view_button_release): remove queue_resize after
tree_view_set_size(), set_size() will handle any resize queuing
that's needed
(gtk_tree_view_focus_in): just queue a draw, don't fool with
draw_focus goo
(gtk_tree_view_focus): use gtk_get_current_event() and
gdk_event_get_state()
(gtk_tree_view_deleted): don't queue_resize() after calling set_size()
(gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
semicolon
(gtk_tree_view_create_button): show the button here
(gtk_tree_view_button_clicked): actually emit the clicked signal
on the column
(_gtk_tree_view_set_size): return right away if the size is
unchanged, as a cheesy optimization
(gtk_tree_view_setup_model): rename set_model_realized to
setup_model to match the flag that indicates whether we've
called it
(gtk_tree_view_get_hadjustment): create adjustment if it doesn't
exist, because set_scroll_adjustment does that and it shouldn't
matter what order you call these in
(gtk_tree_view_get_vadjustment): ditto
(gtk_tree_view_set_headers_visible): canonicalize the bool,
for paranoia
(gtk_tree_view_set_headers_visible): call
gtk_tree_view_map_buttons() instead of using cut-and-paste code
(gtk_tree_view_append_column): clarify whether the return value
is the count of columns before or after, and do the increment
separately from the return statement so you can tell from the code.
(gtk_tree_view_remove_column): ditto
(gtk_tree_view_insert_column): ditto
(gtk_tree_view_get_column): remove g_return_if_fail for columns
outside the existing range, the docs say that outside-range
columns are allowed, so we handle them as documented. (Presumably
this allows a nice loop with column != NULL as test.)
(gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments
mean (left/right/center etc.).
(gtk_tree_view_collapse_all): only queue a draw if we're mapped
(gtk_tree_view_expand_row): add docs
(gtk_tree_view_collapse_row): add docs
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
function to emit the clicked signal on a column
* gdk/gdkevents.c (gdk_event_get_state): new function, to get the
state of an event
(gdk_event_get_time): don't treat GDK_SCROLL
as a button event, remove default case from switch so gcc
will whine if we don't explicitly handle all event types
* gtk/gtktreeselection.h: added some FIXME
* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
"columns" to "n_columns" and "column" to "columns" for clarity
2000-12-16 Havoc Pennington <hp@pobox.com>
* gtk/gtktextiter.c: General cleanup of the log attr iteration
stuff. This should make e.g. the delete key work again in the
text widget...
(gtk_text_iter_forward_cursor_positions): handle negative count
(gtk_text_iter_backward_cursor_positions): handle negative count
(gtk_text_iter_forward_word_ends): handle negative count
(gtk_text_iter_backward_word_starts): handle negative count
* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c,
gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to
GObject. No doubt will cause breakage.
* demos/gtk-demo/textview.c: remove hacks around
non-GObject-ification of the text objects
* demos/gtk-demo/main.c (main): use g_object_set() to manipulate
the text tag
Thu Dec 14 20:22:31 2000 Owen Taylor <otaylor@redhat.com>
* gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
Add two virtualized functions gdk_drawable_get_clip_region - to
get the clip region when drawing.
* gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
use invalidate_region.
* gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
region.
* acconfig.h configure.in: Check for Xft. For now, assume
that if Xft is found, Pango was compiled with Xft support
as well.
* gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add
gdk_colormap_query_color().
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
with Xft if appropriate.
* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
a pangoxft context if we have XFT and the environment
variable GD_USE_XFT is set.
* gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
and also possibly an XftDraw structure.
* gtk/gtkfontsel.c: Handle the case where the font from the
style doesn't match any of the fonts a bit better.
* gtk/testgtk.c: Add tabs between directional segments for
hebrew/arabic test. (Not really necessary, just a little
prettier.)
2000-12-14 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
unused call to get_last_line()
* gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
here until boxed is working (and maybe after that - we should
really not gratuitously break old code)
* gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
specific types for font_desc and tabs args, move them to
GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get
fixed. Move GdkColor args to GTK_TYPE_POINTER also.
* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
use GTK_TYPE_POINTER for signal signatures as a hack-around
* gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
PangoTabArray
* gtk/gtktextlayout.c (line_display_iter_to_index):
make static
(line_display_index_to_iter): make static
* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
to marshal a string not a boxed
* gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
* gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
since the UTF-8 isn't validated yet
* gtk/gtktextsegment.c (char_segment_check_func): don't require
lines to end in '\n'
* gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
forward_to_delimiters, and grapheme boundaries
(gtk_text_view_delete_from_cursor): properly handle non-newline
delimiters, and grapheme boundaries
* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
to gtk_text_iter_forward_to_delimiters, and make it work properly
if empty lines end with a character other than '\n'
* gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
position
2000-12-15 Tor Lillqvist <tml@iki.fi>
* gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
* gtk/gtk.def
* gdk/gdk.def: Update.
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkkeys-win32.c: New file. Move some functions from
gdkmain-win32.c here.
* gdk/win32/makefile.mingw.in (all): No need to make
gdk-win32res.o here, the makefile one step up will call us to make
it.
* gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
gdkkeys-win32.
* gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
* gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
call to g_source_add().
* gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
leak. Thanks to Andreas Kemnade.
2000-12-13 Havoc Pennington <hp@pobox.com>
* gtk/gtktextbtree.h: Put _ in front of every function in this
header file
* gtk/gtktext*.[hc]: update to reflect renamed btree functions
Tue Dec 12 23:46:44 2000 Tim Janik <timj@gtk.org>
* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
* gtk/gtkbox.c: change property types from (u)long to (u)int for
::position and ::padding.
* gtk/gtkcontainer.c: make ::border_width an INT property.
* gtk/gtkpacker.c: make ::position an INT property.
* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
guard against NULL h/v scrollbars, since this is used at construction
time.
* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
internal gtk_clist_constructor().
* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
gtk_ctree_constructor().
* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
* docs/reference/Makefile.am: fun stuff, disabled docs generation
again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
* gtk/gtkwidget.[hc]:
removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
and gtk_widget_get().
(gtk_widget_new): use g_object_new_valist().
(gtk_widget_set): use g_object_set_valist().
* gtk/gtkobject.[hc]:
removed gtk_object_arg_get_info(), gtk_object_getv(),
gtk_object_query_args(), gtk_object_newv(),
gtk_object_class_add_signals(),
gtk_object_class_user_signal_new(),
gtk_object_class_user_signal_newv(),
gtk_object_arg_set(), gtk_object_arg_get(),
gtk_object_args_collect(),
gtk_object_default_construct(),
gtk_object_constructed(),
GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
removed nsignals, signals and n_args members from GtkObjectClass.
(gtk_object_new): use g_object_new_valist().
(gtk_object_set): use g_object_set_valist().
(gtk_object_get): use g_object_get_valist().
* gtk/gtkcompat.h: define gtk_object_default_construct().
* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
g_object_new().
* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
fucntions, cleaned up method assignments (make sure your structures
are setup properly before calling out). removed all GTK_CONSTRUCTED
hacks ;)
Wed Oct 25 14:17:43 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
to determine if a window is the focus widget within
its toplevel.
* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
to be boolean.
* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling
of the case where the container CAN_FOCUS to here instead
of having it in each individual move-the-focus place.
* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
focusing to be geometric in a much more obvious sense. Arrowing
around is still non-intuitive because it isn't perfect and
because entries, etc, grab the arrow keys, but it at least
usually will do what you expect now.
* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
file.
* gtk/gtknotebook.c: Change tabs to be a single item in
the focus chain. Make movement of focus on tabs with arrow
keys wrap around.
* gtk/gtknotebook.c (gtk_notebook_find_child): Add
CHECK_FIND_CHILD macro to give informative error messages
instead of silent returns.
* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT
flag since we handle GdkReturn on the tabs.
* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
windows rather than sending expose events directly.
* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure
definition for GtkNotebookPage into .c file, since it is private.
* gtk/testgtk.c (create_notebook): Add option for
testing borderless notebook.
* gtk/testgtk.c (page_switch): Removed egregious poking
around in GTK+ internals.
* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
properly through gtk_clist_focus. Make the title headers a
single item in the tab-focus chain, and make left-right wrap
around.
* gtk/gtkwindow.c (gtk_window_focus): Add a custom
focus method so that wrapping around works properly.
* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() -
that is handled for the widget now.
2000-12-11 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
Handle chopping off \r\n and 0x2029 in addition to \n before
passing to PangoLayout
* gtk/gtkimcontextsimple.c
(gtk_im_context_simple_get_preedit_string):
return an empty string if no match is pending
* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
assertion that the returned preedit string was sane
* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
Mon Dec 11 10:02:26 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize):
Fix up finalizer to chain to its parent.
2000-12-11 Alexander Larsson <alexl@redhat.com>
* docs/README.linux-fb (GDK_KEYBOARD_TYPE):
Clearified the difference between the keyboard types. Wrote a note
about the magic sysrq key to get out of raw mode.
2000-12-09 James Henstridge <james@daa.com.au>
* gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
member to hold masks for detecting the start of a protocol packet.
(mouse_devs): add packet start masks for ps2 and ms device types.
Left the mask for fidmour blank, as I have no idea what it should
be.
(handle_mouse_io): skip bytes until we get to the start of a
packet. My Logitech mouse seems to be passing an extra NULL pad
byte, and GPM does a similar thing here.
(gdk_fb_mouse_ms_open): changed error message to not say psaux, as
this is the ms mouse driver.
(gdk_fb_mouse_ms_packet): fix up button handling, which was
completely broken except for button1. It was checking the wrong
bit in the packet for the status of the right mouse button, and
wrongly assuming right == button2 rather than 3. I fixed that and
also added support for middle button (button2).
2000-12-08 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
that cause a segfault on text insertion
* gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix
warning
* gtk/gtktextiter.c (test_log_attrs): use
_gtk_text_buffer_get_line_log_attrs to speed things up a bit
* gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs):
Get log attrs for a line, using a cache stored on the buffer
* gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
reported by Jeff Franks
2000-12-08 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkkeyboard-fb.c:
New file containing the abstracted keyboard driver. Most code
taken from gdkinput-ps2.c
* gdk/linux-fb/gdkinput-ps2.c:
Removed file.
* gdk/linux-fb/Makefile.am:
Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
* gdk/linux-fb/gdkcolor-fb.c:
display->fb was renamed to display->fb_fd.
* gdk/linux-fb/gdkcursor-fb.c:
gdk_mouse_get_info -> gdk_fb_mouse_get_info
* gdk/linux-fb/gdkinput.c:
Moved gdk_input_init here from gdkinput-ps2.c
* gdk/linux-fb/gdkmain-fb.c:
display->fb was renamed to display->fb_fd.
Now the tty and the console is opened here instead
of in the keyboard driver. Also check GDK_VT to see what
tty to open.
Move gdk_beep () here from gdkinput-ps2.c
gdk_mouse_get_info -> gdk_fb_mouse_get_info
* gdk/linux-fb/gdkmouse-fb.c:
Add header.
gdk_mouse_get_info -> gdk_fb_mouse_get_info
Return correct keyboard modifiers.
GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
* gdk/linux-fb/gdkprivate-fb.h:
Add tty and vt info to display.
Add orignal modeinfo storage to display
Update global functions
* gdk/linux-fb/gdkwindow-fb.c:
Added gdk_fb_window_find_focus().
gdk_mouse_get_info -> gdk_fb_mouse_get_info
2000-12-06 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/Makefile.am:
Add gdkmouse-fb.c
* gdk/linux-fb/gdkmouse-fb.c:
New file. Abstracted the mouse drivers a bit.
* gdk/linux-fb/gdkcursor-fb.c:
The cursor hide/show functions was moved here from gdkinput-ps2.c.
* gdk/linux-fb/gdkinput-ps2.c:
Removed old mouse handling code. Moved cursor handling code
to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
gdk_mouse_get_info.
* gdk/linux-fb/gdkmain-fb.c:
Pass NULL pointers for x,y in gdk_mouse_get_info call.
* gdk/linux-fb/gdkprivate-fb.h:
Removed public gdk_fb_find_common_ancestor, added and renamed
functions for the new mouse handling code.
* gdk/linux-fb/gdkwindow-fb.c:
Moved gdk_fb_window_send_crossing_events here. added global
variable gdk_fb_window_containing_pointer. made
gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
renamed to gdk_mouse_get_info.
2000-12-06 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkevents-fb.c:
Update to match latest gmain/gsource changes.
* gdk/linux-fb/gdkinput-ps2.c:
Bogus gdk_keymap_get_entries_for_keycode implementation so that
it links. Will be implemented later.
2000-12-03 Havoc Pennington <hp@pobox.com>
* gdk/Makefile.am: add gdkkeys.[hc]
* gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
* acconfig.h, configure.in: add checks and command line options
for XKB
* gdk/x11/gdkkeys-x11.c: Implement the above functions
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
and group in the key event
* gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
field with the low-level hardware key code, and a group
field with the keyboard group
* gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
and declare a couple globals used for keymap handling
* gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
hold down Shift-Control and type a hex number to get a Unicode
character corresponding to the hex number
(gtk_im_context_simple_get_preedit_string): Fix cursor position
(return bytes not chars)
Tue Dec 5 15:49:31 2000 Owen Taylor <otaylor@redhat.com>
* INSTALL: Fix link to PNG home, remove reference
to fribidi.
* gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
* gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
tested.)
* gtk/gtkcheckmenuitem.c: Permanently turn on
always_show_toggle.
* gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to
be NULL. (Vladimir Klebanov, #26545)
* gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix
some signed/unsigned comparison problems. (#6510,
David Kaelbling)
* gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
return type to boolean (Oskar Liljeblad, #18648)
2000-12-05 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c:
More complete colormap handling. Now GdkRGB work in 8 bpp modes.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
Must set colormap.
2000-12-05 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
Remove old debug g_warning().
(gdk_fb_draw_drawable): The src argument can be either a wrapper
or an implementation, just pass the implementation to draw_drawable_2.
* gdk/linux-fb/gdkprivate-fb.h:
Added GDK_IS_DRAWABLE_IMPL_FBDATA()
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
clear and invalidate area when window is destroyed.
(send_map_events): Remove old commented out code.
2000-12-05 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkpango-fb.c:
Use italic instead of oblique in font aliases.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
_gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
other unsupported functions.
2000-12-04 Havoc Pennington <hp@redhat.com>
* gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
* gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
* gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
* gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary
hack to avoid infinite loops (queue draw instead of draw) -
Owen has more appropriate fixes in a branch he'll check in later.
* gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
separator, CR, and CRLF as line ends
* gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
into lines using pango_find_paragraph_boundary(); other bits of
the widget are still going to be broken if the boundary isn't '\n'
though
2000-12-04 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
multiply.
* gdk/linux-fb/gdkpango-fb.c:
Copied some 26.6 scaling macros from pango to clean up the rounding.
(pango_fb_font_get_glyph_info): Correct sign on x value.
* gdk/linux-fb/gdkprivate-fb.h:
Removed unreferenced external functions.
* modules/linux-fb/Makefile.am: Use ` instead of '.
* modules/linux-fb/basic.c:
Remove dead code. In particular the dummy lang engine which broke all
pango layouts in GtkFB. Don't include tables-big.i anymore.
* modules/linux-fb/tables-big.i:
Upgrade to latest version from pango. Left for reference, basic_ranges
moved to basic.c.
2000-12-04 Havoc Pennington <hp@redhat.com>
Fix bugs Alex found:
* gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
to "draw"
* gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
* gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
* gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw()
implementation in here, apparently the expose() implementation was
dead code.
2000-11-30 Havoc Pennington <hp@pobox.com>
* gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
dangling pointers to the appearance attributes from the
line display
* gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
width/height to mean "full width/height of drawable"
* gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
click to select word/line
* gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters
when getting log attrs. Get a slice, so that pixmaps and stuff
are properly handled.
* gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
paste into the selection (replaces selection now, previously
crashed or added to selection). Reveals longstanding btree bug -
select multiple lines, middle-click on the selection, boom. This
isn't related to my changes though.
* gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
PangoLogAttrs changes
(gtk_entry_move_backward_word): ditto
* gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
functions return bool whether the iter moved onto a
dereferenceable position.
* gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
functions for motion in terms of display lines.
* gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
get the buffer a mark is inside
2000-11-30 Hidetoshi Tajima <tajima@eng.sun.com>
* modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
XGetIMValues to properly terminate variable argument list, and do
NULL return check for ic_values and xim_styles.
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
Restore preedit state after XmbResetIC().
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
XvaCreateNestedList() should take XvaNestedList, but not
XvaNestedList*.
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
preedit_draw_callback, preedit_caret_callback): Match
"preedit-changed" signal name to "preedit_changed" to be
consistent to the spec.
* gtk/gtkimcontextsimple.c (check_table):
Match "preedit-changed" to "preedit_changed" to be consistent
to the spec.
2000-11-30 Tor Lillqvist <tml@iki.fi>
Changes by Hans Breuer:
* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
Dont't use negative width and height as max_hints. This fixes
Owen's recent testgtk changes for win32.
* gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
gdk_win32_hdc_release): These are exported and may be called with
other drawable types than our GdkDrawableImplWin32 (?).
* gdk/gdkwindow.c: Backing store appears to work on Windows now,
so always #define USE_BACKING_STORE.
* gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
of printf for debugging output.
* gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
* gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
* gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
declaration.
* gtk/gtktexttypes.h: Ditto.
* gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
(GDK_VoidSymbol) also if in case of arg check failure.
* gtk/gtkimcontextsimple.c
(gtk_im_context_simple_get_preedit_string): Don't assign cursor
position to the pointer, but to the variable it points to.
* gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
* gtk/gtk.def: Updates.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
Set the size of the font from the description.
(gdk_text_width): Gross hack that calculates the width
of text by text_length * size/2. This is necessary because
GtkLabel does some ugly gtk_string_width call to calculate
an good size.
(linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
If you pass width or height == 0 to gdk_window_clear_area they
should be calculated from the window size.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
a grab, but no grab-cursor, use the cursor from the grabbed
window. (gdk_fb_window_send_crossing_events): Send normal
enter/leave notifications if grab and owner_events == TRUE.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
Do implicit button grabs, even if the window doesn't
want the event.
(gdk_fb_window_send_crossing_events): If there is a
grab, only the grabbed window gets normal enter/leave
notifications. On ungrab go from grabbed window to current.
Don't send any notification to b when propagating from c -> b.
If setting a grab on window, don't set prev_window.
(handle_mouse_input): Send enter/leave events to the window the
mouse is over, not the grabbed one.
2000-11-28 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
The cursor should be hidden if it is part of either the
source or destination region. Not only if it is in both.
(gdk_window_set_transient_for): Silence warnings.
2000-11-27 Federico Mena Quintero <federico@helixcode.com>
* gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
the "changed" callback of the adjustment. We need to redraw the
spin button's arrows when the adjustment's range changes.
(adjustment_changed_cb): Draw the arrows.
(gtk_spin_button_value_changed): Draw the arrows.
2000-11-23 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkselection-fb.c:
Initial selection implementation.
* gtk/gtkselection.c:
if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
requestor in gtk_selection_request.
* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
Added gdk_selection_property atom.
* gdk/linux-fb/gdkprivate-fb.h:
Export _gdk_selection_window_destroyed.
Removed mask_off_x/y from GdkCursorPrivateFB.
Removed hbearing, added top, left to PangoFBGlyphInfo.
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
Call _gdk_selection_window_destroyed
(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
the root window has been created.
(static_dx_hack, static_dy_hack, compare_draw_rects,
gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
in region. They are already sorted. Instead just traverse them in
reverse if draw_direction < 0.
* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
Double-clicks must be sent after the normal button_press.
(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
Pass _gdk_fb_screen_gc instead of NULL.
* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
Initialize gdk_selection_property.
(gdk_event_make): Remove unused code.
* gdk/linux-fb/gdkcursor-fb.c:
Make the pixmap for the cursor the same size as the mask. Also remove
the mask_off_x/y fields in GdkCursorPrivateFB and combine
_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
Now the whole cursor is visible.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
Fix bug where xdest+height instead of ydest+height was used
to calculate if the source and dest overlapped. This fixes the
redraw bug when the main window in testgtk was scrolled when
partially covered by a tall window.
Copy rectangles in region in order depending on draw_direction.
Also moved the draw_direction flipping of start_y and end_y into
the gc functions, as this might not be what all of them want.
(gdk_fb_draw_lines): Support dashed lines.
(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
so that the text is positioned correctly (was 1 pixel high).
gdk/linux-fb/gdkgc-fb.c:
Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
all lines were drawn a pixel to short. Also checked the default of
the rest of the values, and they're the same as X now.
* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
Clean up pixel positioning of the glyphs. Just use bgy->top and
bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
to all divisions to get correct rounding behaviour.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
Moved start_y/end_y flip into draw_drawable implementations.
Flip also x rendering when draw_direction < 0.
Remove unneccesary multiply with draw_direction.
Wed Nov 22 14:11:19 GMT 2000 Tony Gale <gale@gtk.org>
* docs/tutorial/gtk-tut.sgml:
- get rid of gtk_toggle_button_toggled FUD
- start DND section - needs work - based on:
http://wolfpack.twu.net/docs/gtkdnd/
2000-11-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
Correct calculation of font metrics. Now GtkEntrys have sane
size.
2000-11-22 <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
reversing the order in an if statement will do. Doing so managed
to make the treemodelsort half work. Other half will follow after
I get the insert function fully fixed.
2000-11-20 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.h: Add convertion functions to let you
convert to and from relative path's and iters.
* gtk/treestoretest.c: move to having a sorted/unsorted view. Start
testing sorting functions a bit better. Currently broken -- will
fix in morning.
2000-11-20 Havoc Pennington <hp@redhat.com>
* gtk/gtkwidget.c: Documented a bunch of functions in here
(gtk_widget_realize): Warn if you try to realize
a widget with no parent that isn't a toplevel
(gtk_widget_intersect): return a gboolean
2000-11-20 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
gtk/testtext.c: Semi-finish widget embedding. Need guffaw
scrolling to be implemented in GDK to finish. Also, right now
we just size_allocate all children on every layout change,
which is pretty lame. Test commented out of testtext.c,
until it works better.
2000-11-20 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c:
Removed unused arguments from gdk_fb_drawable_get_pixel().
* gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
Renamed fidur specific mouse packet data in MouseDevice to
generic. Used it in ps2 mouse handling code to avoid blocking
reads.
Sat Nov 18 18:00:17 2000 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/main.c: Changed to have the list become
non-italic when the demo window is destroyed through an external
event (like a close button). Doing so found three bugs in the
widget.
* demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
* gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
we actually set the cell.
* gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
free a leaked path. Thanks memprof.
Sat Nov 18 11:58:17 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix
off-by-one error when destroying allocated segments
on failure. (Elliot)
2000-11-17 Tor Lillqvist <tml@iki.fi>
* gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
but in general for window system specific events.
* gtk/gtk.def
* gtk/makefile.mingw.in
* gtk/makefile.msc.in: Update.
Thu Nov 16 16:11:39 2000 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
distribute gtk.immodules.
* gtk/Makefile.am (install-data-local): Don't install the
gtk.immodules file created for the uninstalled modules;
instead run gtk-query-immodules after install
Wed Nov 15 21:51:31 2000 Owen Taylor <otaylor@redhat.com>
* modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
-rpath to the right install location.
* modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
-export-dynamic.
* gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
properly.
2000-11-15 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
patch from Mikael Hermansson to temporarily stop blinking while
the user is using the keyboard to type or navigate.
Also, when blinking, stay on for longer than we stay off. Also,
return from start_cursor_blink if !cursor_visible, to save
checking that flag all over the place before we call
start_cursor_blink.
Thu Nov 16 01:25:51 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
only contain a "fontset" line, which is now ignored.
* gtk/Makefile.am: Don't build the above.
* gtk/gtkentry.c (gtk_entry_button_release): Make
double-click-to-select-word work.
Wed Nov 15 20:16:54 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end):
Don't move back one char when we are actually at the end of the
paragraph.
CV: ----------------------------------------------------------------------
2000-11-15 Robert Brady <robert@suse.co.uk>
* modules/input/iminuktitut.c (inuktitut_compose_seqs):
'o' < 'p'.
* gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
bind_textdomain_codeset.
(gtk_init_check): Make the warning about translating default:LTR
sterner.
Wed Nov 15 18:39:40 2000 Owen Taylor <otaylor@redhat.com>
* **/Makefile.am : remove unecessary rules for win32-specific
config-substituted targets. If you want these rules, use
--enable-maintainer-mode (called automatically by autogen.sh).
Stops a lot of unneccessary make-time warnings.
* gtk/gtktext{layout,display}.c: Factor in total width as
well as screen when figuring alignment for word-wrap as well as
no wrap; this is necessary to handle lines that cannot be wrapped
at all.
2000-11-15 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (changed_handler): Invalidate the side windows
when we invalidate the main window.
* gtk/testtext.c (create_view): Get rid of text_changed_callback,
GtkTextView will now invalidate the side windows for us when text
changes.
* gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
unconditionally, since we may need to update the horizontal
scrollbars even if the height didn't change.
* gtk/gtktextlayout.c (add_preedit_attrs): Always get
the extra attrs, since some of them affect size.
* gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
x_offset correctly.
2000-11-15 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (set_para_values): If indent is negative,
don't move the first line out into the margin, instead move the
whole paragraph in order to make space for the first line within
the margin
2000-11-15 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (changed_handler): offset redraw rect by
xoffset in addition to yoffset, so horizontal scrolling doesn't
break redraws
2000-11-15 Havoc Pennington <hp@redhat.com>
* gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
from the cursor
(render_layout_line): fix reversed test that caused weird
underlines to get drawn
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkprivate-fb.h:
Added virtual functions set_pixel, get_color,
fill_span and draw_drawable to the GC.
Added global _gdk_fb_screen_gc to use instead of
NULL when drawing to the screen.
Added _gdk_fb_gc_calc_state() prototype.
* gdk/linux-fb/gdkgc-fb.c:
Call _gdk_fb_gc_calc_state() on any gc state change.
* gdk/linux-fb/gdkglobals-fb.c:
Add _gdk_fb_screen_gc
* gdk/linux-fb/gdkdrawable-fb2.c:
_gdk_fb_gc_calc_state() calculates best functions
for the GC state and depth.
Moved bpp specialized code to separate functions.
Added optimized 24 bpp AA draw_drawable.
* gdk/linux-fb/gdkevents-fb.c:
Silence gcc warning.
* gdk/linux-fb/gdkimage-fb.c:
Use _gdk_fb_screen_gc
* gdk/linux-fb/gdkwindow-fb.c:
Init and use _gdk_fb_screen_gc
* gdk/linux-fb/mitypes.h:
Remove unused types.
2000-11-14 Havoc Pennington <hp@pobox.com>
* gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
* gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
unknown char, no real reason we were using a variable.
Remove gtk_text_unknown_char variable. Fix all the text widget
files accordingly.
* gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC,
since the Unicode spec seems to prefer that character for our
purposes.
Wed Nov 15 02:18:01 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkrc.c (gtk_rc_get_im_module_file): The return
value of g_getenv() isn't freeable, so g_strdup it.
* modules/input/inuktitut.c: Inuktitut input method.
* modules/input/Makefile.am: Build this.
Tue Nov 14 20:13:06 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
reversed > that was causing Home to go to end of previous line.
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
modified-keypresses (leave for bindings.)
* modules/input/Makefile.am: Remove useless -export-dynamic
from module LDFLAGS.
2000-11-14 Havoc Pennington <hp@redhat.com>
* gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
higher.
* gtk/gtktextdisplay.c (render_layout_line): Take rise into
account. Also, render rise, underline, background, etc. for
pixbufs as well as text. Also, draw underlines one pixel higher.
* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
PangoAttribute for the rise, so it gets drawn properly. Also,
add the GtkTextAppearance attribute for pixbuf/widget segments
as well; we should go ahead and have rise, underline, background,
stipple work for those
* gtk/gtktexttag.c: Rename "offset" property to "rise" to match
Pango
2000-11-15 Tor Lillqvist <tml@iki.fi>
* gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
* gtk/gtk.def: Update.
* gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
included.
(gtk_rc_get_im_module_file): Use run-time installation directory
on Win32.
2000-11-14 Tor Lillqvist <tml@iki.fi>
* gtk/gtkcompat.h.win32: Remove, useless. A distribution already
has a built gtkcompat.h. Developers using CVS code on Win32 can
hand-edit it from gtkcompat.h.in.
* gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
gtkcompat.h from gtkcompat.h.win32.
2000-11-14 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
to default to GDK_ACTION_MOVE if the drag is within a single
widget. Defaults to GDK_ACTION_COPY between widgets.
2000-11-13 Havoc Pennington <hp@pobox.com>
* demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
still more bugs.
* gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
scroll the GdkWindows before realization.
2000-11-13 Havoc Pennington <hp@redhat.com>
* gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug
where GC didn't always get updated properly
* demos/gtk-demo/textview.c (create_tags): Use subattributes
of fonts instead of setting the entire font
* gtk/testtext.c (fill_example_buffer): Use "size" instead of
setting entire font
* gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
* gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into
a bunch of individually-settable font attributes. You can still
use the "font" and "font_desc" args, they just set all the font
attributes at once.
2000-11-13 Havoc Pennington <hp@redhat.com>
* gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of
the module file.
* gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
dest->language
* gtk/testtext.c: Test pixels above/below/inside paragraphs
settings
* gtk/gtktextview.c: Implement object args and setters/getters for
all the aspects of the GtkTextAttributes that are not set from
GtkWidget attributes. This is spacing, justification, margins,
etc.
(gtk_text_view_set_arg)
(gtk_text_view_get_arg): implement get/set for editable, wrap mode
args
(gtk_text_view_class_init): Add args for justify, left_margin,
right_margin, indent, and tabs
* gtk/gtktextlayout.c (set_para_values): fix to display indent
attribute properly
* gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute,
replace with indent attribute
* gtk/gtktextlayout.c (set_para_values): multiply indent by
PANGO_SCALE
* gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
rearranging code to do that
(gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
i.e. don't subtract the top_margin first, just to keep
all margin-futzing in one place.
* gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
special case of last line, Pango now handles this itself.
(gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the
Y coordinate
(gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
(find_display_line_above): wasn't moving the byte index as it
iterated over lines, so always returned byte 0. Also, port to use
PangoLayoutIter.
(find_display_line_below): same problem as
find_display_line_above. Also, port to use PangoLayoutIter.
2000-11-12 Havoc Pennington <hp@pobox.com>
* demos/gtk-demo/Makefile.am (democodedir): change demo install
dir to datadir/gtk+-2.0/demo
* demos/gtk-demo/textview.c: Text widget demo; reveals all
sorts of text widget and Pango font bugs. Urgh.
* demos/gtk-demo/Makefile.am (demos): Add textview.c
* demos/gtk-demo/main.c (create_tree): Add instructions at top of
tree that you should double click to see the demo. Fix
types of variables to reflect changed return values from
GtkTreeStore and GtkTreeViewColumn constructors.
* gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
newly-created buffer to prepare for GObject semantics
* gtk/testtext.c: don't leak the buffer with GObject semantics
* gtk/testtextbuffer.c: ditto
2000-11-12 Havoc Pennington <hp@pobox.com>
Rename this testgtk to gtk-demo to avoid confusion, and
install it so people can use it as a supplement to
the documentation.
* demos/gtk-demo: Moved from demos/testgtk
* demos/testgtk: Removed
* configure.in: make Makefile in gtk-demo
* demos/gtk-demo/Makefile.am: Install sample source to
datadir/gtk-demo (maybe there's a better place?), and
rename the binary to gtk-demo
* demos/gtk-demo/main.c (load_file): Load installed sample
source if source isn't found in pwd.
2000-11-09 Havoc Pennington <hp@pobox.com>
* gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char"
argument to set the char displayed when visibility == FALSE
(gtk_entry_create_layout): If !entry->visible, replace
all chars with the "invisible char"
* gtk/testgtk.c: Test the invisible_char deal
Mon Nov 13 02:16:33 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
can't get a native font in the right encoding.
Sun Nov 12 22:52:51 2000 Robert Brady <robert@suse.co.uk>
* modules/input/imviqr.c: A vietnamese VIQR-based input method.
* modules/input/imthai-broken.c: A Thai input method for use if
Thai keys are really generating Latin1 keysyms.
* modules/input/Makefile.am: Build these.
Sun Nov 12 22:15:35 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c:
g_filename_{to,from}_utf8 now takes an extra parameter.
* gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
strftime into UTF-8.
(column_from_x, gtk_calendar_paint_day_names): Support RTL
calendars.
(gtk_calendar_paint_day_names): Draw day names in the right
place.
Sun Nov 12 14:10:09 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
problem with using result of g_get_charset() backwards -
pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
* gtk/gtkwindow.c (gtk_window_compute_hints): Support
negative min_width/height and max_width/height to
mean "requisition"; this allows setting a window
to be user-resizable in only one direction easily.
* gtk/testgtk.c (create_main_window): Remove hard-coded
usize - set a default size in the vertical direction.
Sun Nov 12 13:33:01 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c: Add some missing casts. Support
2 and 3 button clicks on the arrows to mean
"move by pages" and "jump to end". (Like gtkspinbutton)
Sat Nov 11 23:07:30 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_key_press): Call
gtk_widget_activate for GDK_Return.
* gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
of preedit cursor position.
Sun Nov 5 04:24:53 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertextpixbuf.c: Make parent_class
static.
Tue Sep 19 10:54:22 2000 Owen Taylor <otaylor@redhat.com>
* modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
out support for multiple locales; that simple doesn't
work reliably with current Xlib
* gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c:
Add support for positioning the cursor within the preedit string.
Mon Sep 18 23:56:32 2000 Owen Taylor <otaylor@redhat.com>
* modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
at XIM input method module.
* gtk/gtktextview.c: Check for bindings after passing
events to im context filter.
Mon Sep 18 11:50:51 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (add_preedit_attrs): Handle
empty attribute lists properly.
Sun Sep 17 10:08:16 2000 Owen Taylor <otaylor@redhat.com>
* gtk/queryimmodules.c (main): Return non-zero exit
status if errors were encountered querying any
modules.
* modules/input/Makefile.am (moduledir): remove
leftover bin program target.
* docs/make-todo: Fix typo in error message.
Sat Sep 16 14:04:30 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Add modules/input/Makefile
Sat Sep 16 14:01:52 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
don't include gtkthemes.h.
* gtk/testgtk.c gtk/testtext.c: Set environment variables
to point
* gtk/Makefile.am: Add new .c and .h files, build
gtk-query-immodules and use it to create a gtk.immodules
file for use of test programs.
* gtk/gtkpreview.c: remove extra blank line.
Sat Sep 16 13:21:04 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table):
Add the ability to add extra tables beyond the default
one, and also the ability to have compose sequences
that are prefixes of other compose sequences.
* gtk/gtkimcontextsimple.c: Export a preedit string which
consists of possible candidates for keystrokes that have
been entered but not yet committed.
* gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
* gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems):
Add a function to add input-method switching menu items
to a menu.
* gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
when switching input methods.
* gtk/gtkimcontextsimple.[ch]: Change the format of
the compose table to allow compose tables of different
lengths / sequence.
Sat Sep 16 13:05:48 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimmodule.[ch]: Support routines for loading
GtkIMContext implementations dynamically at runtime.
* modules/input/imcyrillic-translit.c: A sample input
method (based on GtkIMContextSimple with an extra table),
which demonstrates preedit strings and the module
system for input modules
* gtk/queryimmodules.c: Program to query the available
input modules and write the results into a file.
* gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
extra config options "im_module_file" (cache file for
input method modules), and "im_module_path" - path
to look for modules when generating cache file.
This doesn't scale.
Sat Sep 16 13:09:06 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the
generic code from gtkthemes into a new abstraction
GtkModule which has the logic for implementing
a loadable module which implements a number of
GObject types.
Sat Sep 16 13:07:13 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkeditable.[ch]: Convert GtkEditable from
a class into an interface
* gtk/gtkoldeditable.[ch]: Move the old editable
implementation into here, so legacy widgets can
still rely on the implemenation. GtkOldEditable
exports GtkEditable. Make selection handling
code use new text conversion functions (and
handle UTF-8 as a side-effect). Use GtkClipboard
for CLIPBOARD.
* gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
Adopt to match above changes.
* gtk/gtkentry.[ch]: Implement GtkEditable directly,
avoid GtkOldEditable implementation. Restructure
to reduce number of places that modify state directly.
Move to GtkBindingSet. Display the preedit string.
Queue recomputation of PangoLayout and scroll position
to improve effiency of doing complex changes naively.
Add a menu with cut/copy/paste and input method selection.
Thu Sep 14 22:11:05 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
to set preedit string and attributes; display preedit string by
inserting string and attributes at cursor when creating the
GtkTextLineDisplay.
* gtk/gtktextlayout.c: Move all conversions between byte
positions in PangoLayout and GtkTextIter into new functions
line_display_iter_to_index/index_to_iter that properly
handle the preedit string.
* gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
it to return const char * (eventually will end up
as GCONST char *, most likely.)
* gtk/gtktextview.[ch]: Handle the preedit string, call
gtk_im_context_reset() as necessary, add a menu to switch
input methods.
* gtk/gtktextlayout.[ch]: Remove useless
gtk_text_layout_get_log_attrs() function.
Fri Nov 10 19:06:41 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
function to help handle keeping things in sync.
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
allow more interesting iterators. Also, made the lifecycle of
iterators more explicit.
* gtk/gtktreemodelsort.[ch]: New model for sorting.
* gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
types.
2000-11-09 Alexander Larsson <alexl@redhat.com>
* demos/testgtk/menus.c:
Changes to make the new testgtk compile after
gtk_menu_append was removed.
* gdk/linux-fb/gdkdrawable-fb2.c
(gdk_fb_get_depth, gdk_fb_get_visual,
gdk_drawable_impl_fb_class_init): Implement
these drawable functions. Now GtkImages work again.
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
* gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
* gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
2000-11-08 Havoc Pennington <hp@pobox.com>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
visible_set args, don't know where these had gone, I thought they
used to be there
* gtk/testtext.c: Add a menu item to apply invisibility tag;
now we can test the feature and see that it's totally broken.
2000-11-08 Havoc Pennington <hp@pobox.com>
Make DND copy pixbufs and tags when source and target share a
tag table.
* gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
in-process GTK_TEXT_BUFFER_CONTENTS target
(gtk_text_view_drag_data_received): Paste from
GTK_TEXT_BUFFER_CONTENTS if we receive it.
2000-11-08 Alexander Larsson <alexl@redhat.com>
* docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
API changes.
* gtk/gtkmenu.c: Add support for scrolling menus.
Remove gtk_menu_append/prepend/insert, these have been moved to
gtkcompat.h as #defines.
* gtk/gtkcompat.h.in:
Add compatibility #defines for gtk_menu_append/prepend/insert
* gtk/gtkmenu.h: Add data needed for scrolling menus.
GtkMenuPositionFunc gets an extra argument push_in.
gtk_menu_append/prepend/insert removed.
* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
positioning behaviour to fit to scrolling menus.
* gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
into menuitem->submeny. That is wrong, and broke torn
off submenus of torn off menus, since they were unrealized
when the first menu was unrealized.
* gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
gtk_menu_shell_select_item() since these need to be overridden in
GtkMenu.
* gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
positioning behaviour to fit to scrolling menus.
(gtk_option_menu_key_press, gtk_option_menu_button_press): Select
the current item so that it is prelighted when the menu pops up.
This is a workaround to the fact that the menu doesn't get the
initial enter event (due to grabs).
* gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
s/gtk_menu_append/gtk_menu_shell_append/
* gtk/gtknotebook.c:
s/gtk_menu_insert/gtk_menu_shell_insert/
* gtk/testgtk.c (create_menu, create_menus):
Create the first menu with 50 items so that menu scrolling
can be tested.
Patch from Jonathan Blandford <jrb@redhat.com>
* gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
system to handle size requests. First, we ask what the size of
the toggle is. Then, when allocating the size, we allocate the
toggle_size first. This way we can have multiple menu-item
classes w/o needing a seperate class for each.
* gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
* gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
* gtk/gtkcheckmenuitem.c
(gtk_check_menu_item_toggle_size_request): New function to handle
the toggle size-request.
2000-11-07 Havoc Pennington <hp@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
Half-ass somewhat fix this function, so that scrolling to the
insertion point works. Pango hacking is in the future to really
fix it.
* gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
length of data, no longer used.
* gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
method contents in here, get rid of destroy method
(gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
that were backward. Remove debug spew.
(cut_or_copy): Make the clipboard work with insert_range to
preserve tags and pixbufs, not just the primary selection.
2000-11-07 Havoc Pennington <hp@redhat.com>
* gtk/gtktextmark.c (gtk_text_mark_is_visible): rename
to gtk_text_mark_get_visible
* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
bug that was generating an invalid iterator
* gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
ensure_char_offsets() in front of code placing the iter in an
invalid state.
* gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
make override_location arg const
(paste): Replace the selection if we paste into the
current selection
* gtk/gtkselection.h: Remove "GtkSelectioData"
(struct _GtkSelectionData): move the definition here.
* gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
* gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
(gtk_text_buffer_insert_range_interactive): implement
(gtk_text_buffer_get_tags): Remove, replaced by
gtk_text_iter_get_tags()
* gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
limit parameter, to avoid infinite linear scan.
(gtk_text_iter_backward_search): Add search limit
(gtk_text_iter_forward_find_char): Add search limit
(gtk_text_iter_backward_find_char): Add search limit
2000-11-07 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
gdk/linux-fb/gdkwindow-fb.c:
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
* gdk/linux-fb/gdkinput-ps2.c:
Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
instead just store the current modifier state. Add a (somewhat broken)
keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
Rename exported function gdk_input_ps2_get_mouseinfo to
gdk_input_get_mouseinfo.
* gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
gdk/linux-fb/gdkwindow-fb.c:
gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
2000-11-02 Havoc Pennington <hp@redhat.com>
* gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
use stock buttons. Should be 100% source compatible, appropriate
filesel fields now point to dialog->vbox and dialog->action_area.
On the bizarre side, dialog->action_area and filesel->action_area
are not the same widget.
(gtk_file_selection_init): Put some padding around the selection
entry, so it isn't touching the GtkDialog separator.
* gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog,
use stock buttons, etc. Should also be source compatible.
Set the dialog default title in _init not _new().
* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
Use stock buttons; don't put a button box inside the existing
dialog button box. Don't bother with push/pop colormap anymore.
* gtk/gtkdialog.h (GtkResponseType): Add a bunch of more
specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
for message dialog, and necessary for the font selection and color
selection with help and apply buttons.
* gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer
to the created button widget. Set GTK_CAN_DEFAULT on the button.
(gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
between buttons, put less padding around the action area.
(gtk_dialog_run): Exit on unmap rather than on destroy.
This will also exit the loop if the widget is hidden.
(gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
instead of GTK_RESPONSE_NONE; since we're already adding a bunch
of GTK_RESPONSE_* stuff, this seems cleaner, and lets you
special-case delete event.
* gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
formatting
Sun Nov 5 05:32:39 2000 Tim Janik <timj@gtk.org>
* gtk/testgtk.c (uposition_stop_configure): provide a toggle
button to temporarily disable position recording in the
"saved position" test.
Sat Nov 4 05:37:17 2000 Tim Janik <timj@gtk.org>
* gtk/gtkthemes.c: added compat code that temporarily implements
GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
going to be revamped by owen's upcoming GtkModule patches, but
untill then people want gtk to build, right? ;)
Sat Nov 4 10:12:27 2000 Owen Taylor <otaylor@redhat.com>
* autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
look for glib-2.0.m4 not glib.m4. (Ali Abdin)
2000-11-03 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttagtable.c: Docs
(gtk_text_tag_table_size): return a signed int
* gtk/gtktexttag.c: s/tkxt/text/g; write documentation
(gtk_text_tag_event): make the event_object a GObject
* gtk/gtktextview.c: Write API docs for all functions.
* gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
for gtk_text_view_get_window_type() called on one of the private
windows.
* gtk/gtktextview.c: Instead of accessing text_view->buffer
directly, call get_buffer() which demand-creates a default
buffer. So gtk_text_view_new() can be used to create a view with a
default buffer in it, if you just want an empty text box users can
put data in. Useful for GUI builders also.
2000-11-03 Havoc Pennington <hp@redhat.com>
Get widgets working on the btree/buffer side. Display of them
still doesn't work.
* gtk/gtktextview.c: start implementing child widget stuff
* gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
* gtk/gtktextlayout.c: handle embedded widgets
* gtk/gtktextdisplay.c: handle embedded widgets
* gtk/gtktextchild.c: Implement all the child anchor goo
* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
function
* gtk/gtktextbtree.c: Add child anchor table to the btree struct
(insert_pixbuf_or_widget_segment): abstract out common portions of
creating a child anchor or a pixbuf segment.
(gtk_text_btree_create_child_anchor): new function
(gtk_text_btree_unregister_child_anchor): new function
* gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
allocate_child signal on GtkTextLayout
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
values
(gtk_text_iter_get_child_anchor): new function
* gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
default handler for the changed signal, which calls
gtk_text_buffer_set_modified(), instead of just always emitting
changed then calling set_modified() manually. I guess this is
maybe more flexible. It seems logical.
Fri Nov 3 08:58:38 2000 Tim Janik <timj@gtk.org>
* gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
now.
* gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
2000-11-02 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c (create_labels): had a test backward
* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
fields, so the dest GC ends up with the correct clip origin,
etc. Fixes a bug where colored labels didn't redraw
properly.
2000-11-02 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
Add last argument to t_type_register_static call.
* gdk/linux-fb/gdkdrawable-fb2.c:
Add last argument to t_type_register_static call.
export the get_image drawable virtual function.
* gdk/linux-fb/gdkimage-fb.c:
Add last argument to t_type_register_static call.
rename gtk_image_get to _gdk_fb_get_image and
export it for use by gdkdrawable-fb2.
* gdk/linux-fb/gdkprivate-fb.h:
export _gdk_fb_get_image.
* gdk/linux-fb/gdkselection-fb.c:
Add new api call stubs.
* gtk/Makefile.am:
Missing ( in linux-fb part.
* modules/linux-fb/Makefile.am:
Must link with gdk_pixbuf or get unresolved symbol.
2000-11-01 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c (create_labels): Test set_markup_with_accel()
* gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
before returning it.
2000-11-01 Havoc Pennington <hp@redhat.com>
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
Clip the rectangle to be rendered to the drawable, since
get_from_drawable() requires a region within the drawable
2000-11-01 Havoc Pennington <hp@pobox.com>
* gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
a pixbuf pointing to a subregion of another pixbuf.
2000-11-01 Havoc Pennington <hp@pobox.com>
* gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
on a label
(gtk_label_finalize): unref the attr list if any.
* gtk/testgtk.c (create_get_image): close test on second click
(make_message_dialog): close dialog if it exists
* gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
* gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
gdk-pixbuf
* gtk/gtklabel.c (gtk_label_set_markup): new function to set label
from Pango markup format
(gtk_label_set_markup_with_accel): ditto but with accelerator
parsing
* gtk/gtkimage.c (gtk_image_expose): reformatting.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
reflect current state of GDK - use gdk_drawable_get_colormap, etc.
Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to
call gdk_window_get_origin().
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
implement GDK_PIXBUF_ALPHA_FULL
Wed Nov 1 03:43:42 2000 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c (gtk_signal_compat_matched): make use of
g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
g_signal_handlers_disconnect_matched to block/unblock and disconnect
multiple handlers respectively, instead of only treating the
first handler found (bug reported by owen).
Mon Oct 30 19:23:50 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
* gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
* gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
gtk/gtktreeviewcolumn.h: Fixed inline docs.
* docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
widget. Needs writing someday.
* docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
the docs.
2000-10-30 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
to be named insert_at_cursor and delete_at_cursor so C++ can
handle them.
2000-10-28 Tor Lillqvist <tml@iki.fi>
* gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
to get a double directory separator in case the home directory
ends with one. This would cause trouble especially on Windows,
where the path will be confused with the syntax for an an UNC
(network share) path \\server\share\path.
(gtk_rc_add_initial_default_files): Ditto.
Sat Oct 28 02:33:09 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkmarshal.list: add new marshaller for GtkTextView.
* gtk/gtktextview.c: Use correct marshaller.
Fri Oct 27 17:56:26 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c: Not sure how this ever worked. Fixed it to
use new iter stuff, and added all the appropriate signals et al.
* gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
code is internal to gtk only.
2000-10-26 Havoc Pennington <hp@redhat.com>
* gtk/gtkmarshal.list: add new marshallers used by the text widget
* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
types
* gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
marshaller types
* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
license on these files.
* gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
work.
* gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to
runtime random number different for each tree, instead of
a constant I made up.
Thu Oct 26 07:36:16 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: buncha cleanups, kludged build sources
dependencies with a Makefile: oldest-source-stamp dependancy
for the moment. automake is really fighting us here, with
intentionally not allowing user-defined rules or dependancies
prior to it's -include $(DEP_FILES) statement. sucks rocks!
* gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
to public headers. tehy have a comment stating that they are
"semi-public" aren't included by gtk.h and if enums popup there,
they can be /*< skip >*/-ed.
* gtk/gtktextlayout.h:
* gtk/gtktextdisplay.h: indentation fixes, comment fixes,
added LGPL... <SIGH>
Wed Oct 25 20:40:25 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
GtkTreeIter. Added iterators everywhere.
* gtk/gtktreeviewcolumn.c: Changed to use the iterators.
* gtk/gtktreeviewselection.c: Changed to use the iterators.
* gtk/gtktreestore.c: Changed to use the iterators.
* gtk/gtkliststore.c: Commented out the code. Will convert to
iterators tomorrow.
* gtk/gtkmodelsimple.c: Commented out the code. Will convert to
iterators tomorrow.
* gtk/treestoretest.c: Changed to use iterators.
* demos/testgtk/main.c: Moved to use the new iterator system.
Thu Oct 26 02:10:32 2000 Tim Janik <timj@gtk.org>
* gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
localization misbehaviour.
* gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
a useless type without copy/free.
* gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
of GTK_TYPE_CTREE_NODE.
Thu Oct 26 00:51:52 2000 Tim Janik <timj@gtk.org>
* gtk/gtksignal.c:
(gtk_signal_emitv): use g_value_set_static_{string|boxed} where
applicable.
* gtk/gtk-boxed.defs (GtkSelectionData): specify
gtk_selection_data_copy and gtk_selection_data_free
do GtkSelectionData work as params in signals.
Wed Oct 25 20:47:41 2000 Tim Janik <timj@gtk.org>
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
couldn't they at least give it a non-standard name?
* gtk/gtktextlayout.c: arg! yet another implementation of
gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
* gtk/gtktextbuffer.c: gotcha! captured a vagabonding
gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
home. now i know this _is_ a conspiracy.
* gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
::state-changed.
* gtk/gtkaccelgroup.c (gtk_accel_group_create_remove):
(gtk_accel_group_create_add): marshaller signature fixups.
* gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
* gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
anymore.
Tue Oct 24 23:59:21 2000 Tim Janik <timj@gtk.org>
* docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
due to the signal system changes, it wouldn't build currently. to
be fixed soon.
* docs/Changes-2.0.txt: GtkSignal/GSignal updates.
* gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
so it needs gtk_marshal_VOID__ENUM() instead of
gtk_marshal_NONE__UINT().
* gdk/gdk*.c: adapted type registration functions.
* gtk/gtkbindings.c:
* gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
gone.
* gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
* gtk/gtkobject.c:
(gtk_object_destroy):
(gtk_object_shutdown): fixed recursion guards. basically we have to
catch the case where any of GObject.shutdown() or gtk_object_destroy()
is called during ::destroy, and avoid recursion there.
* gtk/gtktypeutils.c:
* gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
boxed_copy/boxed_free. this needs a more general solution based on a
publically installed code-generator utility.
* gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
glib's gobject has support for that now.
define GtkSignalMarshaller in terms of GSignalCMarshaller.
Mon Oct 23 09:36:42 2000 Tim Janik <timj@gtk.org>
* gtk/gtksignal.[hc]:
* gtk/gtkmarshal.[hc]:
* gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
care of that.
* *.c: marshaller name fixups.
* gtk/gtkmarshal.list: added a comment briefing the format.
Sun Oct 22 23:14:39 2000 Tim Janik <timj@gtk.org>
* gtk/gtksignal.[hc]: nuked old implementation. we mostly have
compatibility macros here now. more specifically, most of
the API is preserved (yes, _most_, nonwithstanding the
following exceptions listed, the API is stil lHUGE ;)
things that got removed completely:
GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
gtk_signal_remove_emission_hook().
non-functional functions variants:
gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
the GtkCallbackMarshal argument to gtk_signal_connect_full() is
not supported anymore.
(gtk_signal_compat_matched): new internal function to aid
implementation of the compatibility macros, it provides
functionality to block/unblock/disconnect handlers based
on func/data.
* gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
* *.c: adaptions to new type registration API signatures.
Fri Oct 20 15:26:33 2000 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
2000-10-25 Robert Brady <robert@suse.co.uk>
* gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
gdk_property_delete): If window == NULL, assume the root window.
(restoring the behaviour that was in 1.2).
--------------------------------------------------------------------
2000-10-25 Tor Lillqvist <tml@iki.fi>
* gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
* gdk/win32/gdkdrawable-win32.c
* gdk/win32/gdkimage-win32.c
* gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
X11 backend.
* gdk/win32/gdkcc-win32.c
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkfont-win32.c
* gdk/win32/gdkinput-win32.c
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
2000-10-24 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
it a static function
* gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
redraw text when a tag is applied to it.
* gtk/gtktexttag.c (gtk_text_tag_affects_size)
(gtk_text_tag_affects_nonsize_appearance): private functions to
see if a tag requires various kinds of redraw/layout to be queued
up.
* gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
* gtk/testtext.c (fill_example_buffer): Put the cursor
at the start of the buffer, so search works by default
* gtk/gtktextiter.c (lines_match): init match_start always
* gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
function, get iter at a line + a byte index
* gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
to set byte position within a line
(gtk_text_iter_check): remove leftover G_BREAKPOINT thing
2000-10-23 Havoc Pennington <hp@redhat.com>
* gtk/testtext.c: Re-enable the "find" dialog
* gtk/testgtk.c: Add test for gdk_drawable_get_image
* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
the arguments to gdk_draw_drawable were in the wrong order
(gdk_window_paint_init_bg): This function was ignoring the
init_region, instead of clipping to it, so the entire backing
pixmap was cleared on every begin_paint()
(gdk_window_begin_paint_region): Hmm, the same list-walking bug
was in here again, the loop kept using the same GtkWindowPaint
over and over.
(gdk_window_begin_paint_region): Fix a bug where we had two
x_offset instead of x_offset and y_offset
* gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
before we get the image.
(gdk_draw_drawable): get the composite before we draw the drawable.
(gdk_drawable_real_get_composite_drawable): default
get_composite_drawable implementation that returns the drawable
itself
* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
get_composite_drawable virtual function
* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
list-walking bug
* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
make this work if the source drawable is a GdkDrawableImplX11
instead of a public drawable type. This is really broken; the
problem is that GdkDrawable needs a virtual method get_xid(), but
of course that doesn't work in practice. Enter RTTI.
Also, improve mismatched depth message.
* gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
GdkPixmap
* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
install _gdk_x11_get_image as our implementation of get_image
* gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
_gdk_x11_get_image and export for use in gdkdrawable-x11.c
* gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
gdk_drawable_get_image
* gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
get_image
* gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
trailing semicolon after for loop
2000-10-22 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgc-win32.c
* gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
Patches by Hans Breuer:
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
SetBkMode() and SetTextAlign() before calling
pango_win32_render().
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
Set hcliprgn to NULL after destroying it.
(gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
* gdk/win32/gdkgeometry-win32.c
(_gdk_windowing_window_queue_antiexpose): More effective
implementation.
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
depth as default, not the visual's.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
against empty title.
* gdk/win32/gdkprivate-win32.h: Define a helper macro,
IMAGE_PRIVATE_DATA.
* gdk/win32/gdkimage-win32.c (gdk_image_get_type): Use it.
2000-10-22 Tor Lillqvist <tml@iki.fi>
* gtk/makefile.mingw.in
* gtk/gtk.def: Updates.
* gtk/testgtk.c: sleep() is called _sleep in MS's C
library.
* gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
* gtk/makefile.msc: Remove
* gtk/makefile.msc.in: New file, like makefile.mingw.in.
* gtk/Makefile.am: Add it.
* configure.in: Generate it.
* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
* gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
something even if not implemented, to satisfy picky MSVC.
2000-10-22 Robert Brady <robert@suse.co.uk>
* configure.in: Check for bind_textdomain_codeset
* gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset
present, make use of it.
Add a translatable string "default:LTR" which, if translated
to "default:RTL", will cause the default direction to be
Right-to-Left.
* gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget
direction if marked as flippable.
* gtk/gtkhscale.c: Mark widget as flippable.
2000-10-04 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c (create_buttons): create some stock buttons
with the default accel group
(create_image): test some new GtkImage features
(make_message_dialog): test GtkMessageDialog
(create_modal_window): fix someone's bizzarro indentation
* gtk/gtkwindow.h, gtk/gtkwindow.c: Implement
GTK_WIN_POS_CENTER_ON_PARENT.
Add "destroy with parent" setting, which means the window goes
away with its transient parent.
(gtk_window_get_default_accel_group): get the default accel group
for the window.
(gtk_window_set_destroy_with_parent): set/unset destroy with
parent flag
(gtk_window_read_rcfiles): invalidate icon set caches
after reloading rcfiles
* gtk/gtkenums.h (GtkWindowPosition): add
GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog
on its parent window when the dialog is mapped for the first time.
* gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add
a simple message dialog class
* gtk/gtkdialog.c (gtk_dialog_init): Connect delete event
handler to emit response signal, and maybe later it would
honor a hide_on_delete flag - though that isn't there yet.
Set border width on the vbox to 2, so we get some padding.
Use a button box for the action area.
(gtk_dialog_key_press): synthesize a delete event if Esc
is pressed and the GtkWidget key press handler didn't
handle the escape key.
(gtk_dialog_new_with_buttons): new function creates a dialog
with some default buttons in it.
(gtk_dialog_add_action_widget): add an activatable widget
as a button in the dialog - you can also add a non-activatable
widget by accessing the action area directly.
(gtk_dialog_add_button): add a simple button - stock ID or
label - to the action area
(gtk_dialog_response): emit response signal
(gtk_dialog_run): block waiting for the dialog, return
the response. Override normal delete_event behavior, so that
delete_event does nothing inside gtk_dialog_run().
* gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
emitted when an action widget is clicked or the dialog gets
delete_event
* gtk/gtk.h: add gtkmessagedialog.h
* gtk/Makefile.am: add gtkmessagedialog.[hc]
2000-10-20 Havoc Pennington <hp@redhat.com>
* gtk/gtk-sections.txt: Add dialog docs
2000-10-18 Havoc Pennington <hp@redhat.com>
* gtk/gtk-sections.txt: Some updates
* gdk/gdk-sections.txt: remove GdkPixbufAlphaMode
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add new API, remove
GdkPixbufClass/GdkAnimationClass since those are private
* gdk-pixbuf/Makefile.am (IGNORE_HFILES): ignore more headers
2000-10-18 Havoc Pennington <hp@redhat.com>
* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug
where any number of empty lines would get skipped
* gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
edge.
* gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
warning about invalid iterators (explain more thoroughly)
(gtk_text_iter_in_region): rename gtk_text_iter_in_range
* gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
big
* demos/*.c: Add error handling
* gtk/gtktextbuffer.c: don't modify const iterators
* gtk/gdk-pixbuf-loader.c: Add full error handling here
* gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
on file load
* gtk/gtkiconfactory.c: Update to reflect addition of error
handling to gdk-pixbuf loaders
2000-10-16 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-io.c (gdk_pixbuf_get_module)
(gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
add error reporting here also
* make-inline-pixbuf.c (main): use GError
* io-xpm.c: include unistd.h
* gdk-pixbuf-util.c: include string.h
* io-*.c: add error reporting
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
error reporting
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
* gdk-pixbuf-io.h: Add GError** to load_increment and load
methods
* gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
a G_FILE_ERROR if we fail to write or close the file.
* gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
the GError naming rules. Add GError** to load functions.
Wed Oct 18 11:14:05 2000 Owen Taylor <otaylor@redhat.com>
* configure.in demos/Makefile.am demos/testgtk/*: Start of work to
move to new modularized testgtk.
2000-10-17 <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
parent when generating my type.
* gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
2000-10-15 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
proposed by Guy Harris <gharris@flashcom.net>. Also, added API
docs to all public functions.
2000-10-09 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
lines that had been deleted by mistake (?).
* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
also the case fg==white and bg==black (but still not randomly
coloured cursors). Thanks to Wolfgang Sourdeau.
* gdk/win32/*.c: Silence gcc -Wall.
* gtk/gtk.def: Add missing entry points.
Fixes by Hans Breuer:
* gdk/makefile.msc
* gdk/win32/makefile.msc: Update.
* gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
some MSVC thing, presumably), cause breakpoint on failures. Add
GDK_NOR case. Call g_log_set_always_fatal.
* gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
should be pased by reference.
* gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
* gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
* gdk/win32/gdkevents-win32.c
* gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
* gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
implementation object.
* gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
not just windows.
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
Use the wrapper object.
2000-10-06 Havoc Pennington <hp@redhat.com>
* Makefile.am (SRC_SUBDIRS): contrib subdir
* gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
so it can be used in Xlib version
* demos/testpixbuf.c (update_timeout): error checking from 1.0
tree
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
change from 1.0 tree that returns first frame of animation
if the loaded file is an animation.
* contrib: add new directory to hold stuff that comes with GTK+
but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
* configure.in: add contrib/*
2000-10-06 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf.h: add GdkPixbufAlphaMode
2000-10-06 Havoc Pennington <hp@redhat.com>
This entry is a summary of the merged-in changes from 1.0.
Relevant original ChangeLog entries are spliced in after
this entry; the files they refer to are from the 1.0
gdk-pixbuf sources.
* pixops/pixops.c (pixops_composite_nearest): sync a small fix
from 1.0
* io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
Add progressive loader from 1.0
* io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
from 1.0 tree
* io-pnm.c: new version from 1.0 tree
* io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
malloc not g_malloc
* io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
g_warning
(gif_get_next_step): return 0 here, sync from 1.0
* gdk-pixbuf-util.c: sync email address change for Cody
Russell
2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
* gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
last nights code was still "broken". Should now properly handle
all error conditions gracefully.
2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
* gdk-pixbuf/io-pnm.c: Rewrote.
2000-09-09 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
the correct dest offset.
2000-08-25 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/io-xpm.c: #include <unistd.h>
2000-08-05 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
* gdk-pixbuf/io-xpm.c: same as above.
2000-07-26 Michael Meeks <michael@helixcode.com>
* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
g_malloc a malloc.
2000-07-21 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
xpm at least supports the progressive interface like the one in
io-tiff.c. This should be reimplemented as an actual progressive
loader.
2000-07-19 Jonathan Blandford <jrb@redhat.com>
* demo/pixbuf-demo.c (update_timeout): changed scaling level to
make it look better.
* gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
meeks to handle errors better.
2000-10-05 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
* gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
* gtk/gtktreeselection.[ch]: Replaced
"node_selected"/"node_unselected" signal with "selection_changed"
signal.
Mon Sep 25 15:05:17 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
Add gdk_window_iconify.
* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
(gdk_window_set_geometry_hints): Add win_gravity
to geometry structure.
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
Implement _NET_WM_PING.
* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
Set _NET_WM_PID on the client leader.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
Handle UTF-8 better.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
UTF-8 better, set _NET_WM_NAME as well. Only set
icon name if it hasn't previously been explicitely
set.
2000-10-03 Havoc Pennington <hp@redhat.com>
* gtk/testtextbuffer.c: clean up trailing whitespace,
add extensive tests for tag toggle iteration.
* gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan
distance
* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
optimize case where the tag root is on level 1
(gtk_text_line_previous_could_contain_tag): attempt to implement
(gtk_text_line_next_could_contain_tag): Abstract out node_compare
functionality
* gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
Implement this, though not very efficiently.
* gtk/gtktextiterprivate.h: reformat
* gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
iterator
* gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
this to properly revalidate the iterators.
* gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
properly at the end of the line (and therefore on empty lines)
* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
maybe we should return a value...
2000-10-03 Tor Lillqvist <tml@iki.fi>
* config.h.win32: Guard definition of alloca(). glib.h now handles
that.
* gdk/gdk.def
* gtk/gtk.def: Add new entry points.
Changes just to make GTK+ build without errors on Win32. No hope
of it working in its current state, though...:
* gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
some functions from the X11 backend, just to make GTK+ build.
* gdk/makefile.mingw.in
* gtk/makefile.mingw.in: Use correct gdk_pixbuf version
number. Add new object files.
* gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
GetMessageTime to get timestamp (where on X11 uses
gdk_x11_get_server_time()).
2000-10-02 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: text_window_* weren't static and should have
been.
Start work on child widgets; not yet complete,
syncing to
office computer.
* gtk/gtktextchild.h: change this to contain a public interface,
starting work on child interfaces.
* gtk/gtktextchildprivate.h: move private interfaces here
* gtk/Makefile.am: update to reflect gtktextchildprivate.h
* gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c,
gtk/gtktextmark.c: copyright notices
* gtk/gtktextmarkprivate.h: reformat, and put _ in
front of
internal functions
* gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
internal function
* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
Reformatting
2000-09-30 Havoc Pennington <hp@pobox.com>
* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
NULL start/end pointers
* gtk/gtktextbuffer.c: Write some docs
(gtk_text_buffer_get_selection_bounds): Allow start/end to be
NULL, so you can just check whether there's a selection.
* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to
cleanup_line or segments_changed ourselves, it gets done
in unlink_segment
* gtk/gtktextmark.h:
s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
* gtk/gtktextsegment.h: Clean up some indentation and naming mess
* gtk/gtktextmark.c: delete some more old Tk cruft
* gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
mark before removing it, so we can emit MARK_DELETED with a valid
pointer.
(gtk_text_buffer_mark_set): hold ref across signal emission
* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
whining about attempts to delete special marks
* gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
underscore, since it's internal.
* gtk/gtktextbuffer.h: Remove find_string prototype, this is
now implemented in terms of iterators in gtktextiter.h
* gtk/gtktextbuffer.c (gtk_text_buffer_set_text):
New function, destructively sets contents of buffer. Also
a convenient way to clear the buffer by setting text to ""
* gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
multiline string literal
* gtk/testtext.c (text_changed_callback): Redraw line numbers if
text changes.
* gtk/gtktextiter.c (forward_char): Return FALSE if new location
is not dereferenceable
(gtk_text_iter_forward_lines): fix return value
2000-09-29 Havoc Pennington <hp@redhat.com>
* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
* gtk/gtktextview.c: Implement drag thresholding; change functions
that set border window size to have nicer name
(gtk_text_view_mark_set_handler): Fix this to have the
right signature.
* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
* gtk/testtext.c: Update with API changes, put line numbers on
both sides.
* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
with this
* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
pixbuf; delete a big block of #if 0 Tk code
* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
insert_pixmap with insert_pixbuf
2000-09-29 Martin Baulig <baulig@suse.de>
* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
this is the directory where pkg-config actually looks.
* gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
confusion with the GdkPixbuf of the GNOME 1.x platform.
* *.pc.in: Made the pkg-config scripts actually work.
2000-09-29 Havoc Pennington <hp@pobox.com>
* gtk/gtktextview.c: Implement the side windows.
* gtk/testtext.c: Implement simple line numbering in the
left side window; seems to make scrolling sloooow. Oops.
Also, cursor blink is for some reason causing redraws
of the line numbers. Should investigate...
2000-09-28 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c: Set up infrastructure to deal with lots of
scrolling child windows, and draw focus rectangle properly.
(gtk_text_view_buffer_to_window_coords):
Coordinate transformation to deal with all these freaking windows
and offsets
(gtk_text_view_window_to_buffer_coords): transform the other way
* gtk/testtext.c (create_buffer): Update to match Pango API change
* gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
anonymous tags
(foreach_unref): don't emit remove signal from finalize, just
set tag's parent to NULL
2000-09-25 Havoc Pennington <hp@redhat.com>
* gtk/gtktextview.c: Draw the focus, and leave space to do so.
* gtk/gtktexttypes.c: Remove Latin1 conversion stuff
* gtk/gtktextbtree.c (gtk_text_btree_node_remove_data):
Fix a bug when removing node data, we didn't properly
re-splice the linked list after removing the data.
* gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through
GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
* gtk/gtktextbuffer.c (selection_received): fix g_convert usage
* gtk/gtktextlayout.c (set_para_values): Set tab array
for the layout from the GtkTextTag.
* gtk/gtktexttypes.h: delete tab and search cruft,
remove g_convert() in favor of GLib version
* gtk/gtktexttypes.c: remove tab implementation from here,
move to Pango
* gtk/gtktexttag.h, gtk/gtktexttag.c: Implement
tab stuff using new PangoTabArray from Pango
* gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
unused border_width stuff
2000-09-08 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktextdisplay.c
* gtk/gtktextlayout.c
* gtk/gtktexttag.c
* gtk/gtktexttag.h
* gtk/testtext.c: Change the overstrike property to strikethrough,
to closer match pango.
Fri Sep 8 14:28:00 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c: Fix up visibility so that focus,
cursor_visible and blink interact properly. Reenable cursor blink
which had been roughly disabled. Make blink and focus
properly per-view.
* gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
Add a flag for whether to display insertion cursor and
a function to set the flag.
* gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
get_line_y() to get_line_yrange(), to be a bit more generally
useful.
Thu Sep 07 20:54:33 2000 George Lebl <jirka@5z.com>
* gtk/gtkmenu.c: in gtk_menu_set_submenu_navigation_region
do stop_navigating_submenu, to clear last timeout properly.
Also in gtk_menu_motion_notify move ignore_enter above
the conditional to make it always happen as suggested by Owen
2000-09-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
* gdk/win32/gdkwin32.h: Add more definitions missing from the free
w32api headers.
* gdk/win32/gdkprivate-win32.h: Add a couple of missing
declarations.
* gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
(gdk_win32_get_colormap): A line had been deleted by mistake.
* gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
(gdk_event_translate): Handle more virtual keycodes to be able to
generate GDK events for Control-comma, Control-period, etc.
* gtk/gtk.def: Add some missing entry points.
2000-09-07 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
like on Unix.
Thu Sep 7 14:15:03 2000 Owen Taylor <otaylor@redhat.com>
* gdk/* gtk/*: Move gtk-reference files into GTK+ tree proper.
* Update sections.txt files to correspond to current code,
tweak .sgml files and Makefiles to correspond.
* gtk/tmpl/gtkradiomenuitem.sgml (this): Remove extra <para>
2000-09-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in (use_mmx_asm): Remove conftest* after use along the
lines of AC_TRY_COMPILE.
* .cvsignore updates
2000-09-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
of g_dirname, which is deprecated.
(gtk_rc_parse_any): Removed calls to
g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
* gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
Removed calls to g_hash_table_{freeze,thaw}, as they are
deprecated now.
* gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
instead of g_basename.
Sun Sep 03 00:47:08 2000 George Lebl <jirka@5z.com>
* gtk/gtkwidget.h: Add some documenting comments about
GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
just as owen said on irc.
* gtk/gtkwindow.c (gtk_window_set_default): Don't blindly
set HAS_DEFAULT. Only set it if there isn't another window
holding it (a focus window which RECEIVES_DEFAULT) and only unset
it if the widget is not the focused window with RECEIVES_DEFAULT.
This fixes weird double default bugs in dialogs which has things
call gtk_window_set_default at times.
Fri Sep 1 22:39:07 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.[ch] TODO.xml: Apply patch from
Nils Barth and David Santiago to improve submenu
navigation. The patch does this by creating a triangular
region from the point where the pointer leaves the
menu to the submenu. While the pointer is in
that region and a timeout has not expired, events
that would cause the active submenu to change are
ignored.
Fri Sep 1 15:34:46 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
moving a toplevel window immediately after sizing it would
result in it being sized back to the old size since
impl->width, impl->height aren't updated until we hear
back from the server. There is still a (longstanding) bug
here that gdk_window_get_size() will give the wrong size
until we do hear back.
2000-08-31 Havoc Pennington <hp@pobox.com>
* gtk/gtktextbtree.c (GtkTextBTree): cache end line,
for rapid testing whether an iterator is the end iterator
(gtk_text_btree_new): init end line cache
(gtk_text_line_is_last): use fast cached line to
see if we're the last line.
(get_last_line): use cached line here too, should
speed up some random unrelated code.
2000-08-30 Havoc Pennington <hp@pobox.com>
* gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
signals.
* gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
delete_text signals. This allows the signals to be used for
implementing undo.
* gtk/gtktextbuffer.c: Change signal handler signatures;
provide "interactive" argument when emitting insert_text or
delete_text signal.
Fri Aug 25 12:16:15 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
from switch statements, since Tor removed the enumeration
value.
* gdk/x11/gdkimage-x11.c (gdk_image_get):
s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
2000-08-27 Havoc Pennington <hp@pobox.com>
* gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
minor indentation fixes, inserted some FIXME about stuff I
realized was broken while documenting it.
(gtk_text_iter_get_pixmap): allow out params to be NULL, following
GTK convention
Mon Aug 21 22:39:18 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
* gtk/testgtk.c (create_styles): Add a test for modifying
the style through gtk_widget_modify_*.
* gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
a function to get the current modifier style.
* gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
of the passed in GtkRcStyle instead of ref'ing it.
* gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
2000-08-20 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h
* gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
shared memory image+pixmap GdkImage type, or
gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
I am dropping that.
* gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
actually call gtk_init_abi_check(), passing also
sizeof(GtkWindow). Ditto for gtk_init_check().
* gtk/gtk.def
* gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
New functions, used to check that the GTK+-using code has been
compiled using the correct compiler and switches. In particular,
with gcc one has to use the -fnative-struct switch as GTK+ is
compiled with that.
Fri Aug 18 17:27:46 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
->prev fields when merging lists. (Found simultaneously
by Pawel Salek and Jakub Jelinek)
2000-08-12 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.def
* gtk/gtk.def: Add missing entries.
* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
OUT_TT_ONLY_PRECIS, try to get a TrueType font.
* gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
function. Dummy implementation at this point.
* gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
rules. Undefine GTK_COMPILATION when compiling the test programs.
* gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
* gdk_pixbuf.def: Add missing entry point.
2000-08-11 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
to convert back and forth from UTF-8 and the "system" (or "current
locale") charset when necessary. Indentation/spacing cleanup.
2000-08-10 Havoc Pennington <hp@redhat.com>
* Makefile.am (snapshot): Change the format of the snapshot
version to match glib
* gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
from EXTRA_DIST since it doesn't seem to exist
2000-08-10 Havoc Pennington <hp@redhat.com>
* Makefile.am (EXTRA_DIST): The *.def files had the wrong names
(s/pixbuf_/pixbufloader_)