- gui_frame_drag.c (FOR_UNORDERED, drag_var_motion, drag_value_motion,
drag_frame_motion): moved hard to read loop into helper macro
- capitalized SWAP, to make it clear it's a macro and can multiply side-effects
- TODO: updated discussion of open issues
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5971 99fdad57-331a-0410-800a-d7fa5415bdb3
- gui_frame.c (build_frame_label): the root frame doesn't participate in any
form of dragging, so we don't set up dragging for it at all
- gui_frame_drag.c (pick_table_cell, swap_table_cells_by_coord,
swap_table_rows): helper functions for swapping rows in a Gtk table
- gui_frame_drag.c (swap_frames, drag_frame_motion, setup_frame_drag): added
support for reordering of frames by dragging
- gui_frame_drag.c (SWAP, swap_vars, swap_values, swap_rows): removed SWAP().
Use swap() from util.h instead.
- TODO: removed frame ordering entry
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5970 99fdad57-331a-0410-800a-d7fa5415bdb3
drag-drop. So we have to explicitly clear "dragging", or the last frame
successfully referenced suddenly becomes unselectable.
- gui_frame_drag.c (drag_canvas_drop): call drag_end to clear "dragging"
- TODO: removed the entry about the frame reference procedure
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5938 99fdad57-331a-0410-800a-d7fa5415bdb3
tool, with all the old code still around, so the code paths are a bit obscure.
- gui_frame_drag.c: use GTK_DEST_DEFAULT_MOTION instead of
GTK_DEST_DEFAULT_HIGHLIGHT
- gui_frame_drag.c: put meat on the frame and canvas drag and drop skeleton
- gui_frame_drag.c (setup_frame_drag, setup_canvas_drag): use GDK_ACTION_COPY
instead of GDK_ACTION_PRIVATE
- gui_frame_drag.h, gui_frame_drag.c (is_dragging_anything): new helper
function to check if we're dragging anything, without specifying what
- gui_canvas.h, gui_canvas.c: added thin interface layer between gui_frame.c
and gui_tool.c
- gui_canvas.c (enter_notify_event, leave_notify_event): return FALSE so that
other widgets can get the events, too
- gui_tool.h, gui_tool.c (tool_hover): return whether we found anything to
hover on
- gui_tool.h, gui_tool.c: added interface for dropping a frame on the canvas
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5932 99fdad57-331a-0410-800a-d7fa5415bdb3
tables such that items are selected on release and we can thus drag without
selecting. (From a user point of view, selecting would be fine. But selecting
may sometimes cause a change_world or similar, destroying the widget, which
upsets drag and drop.)
- gui_frame_drag.c (setup_var_drag, setup_value_drag): moved targets to file
scope
- gui_frame_drag.c (has_target, drag_var_motion, drag_value_motion): Gtk
doesn't check target compatibility for us, so we have to do this explicitly
- gui_frame_drag.c (drag_begin): don't leak the pixbuf
- gui_frame_drag.c (is_dragging, drag_end), gui_frame_drag.h: for drag vs.
activations on button release, we now can test what is being dragged. For
this, we have to explicitly clear the variable "dragging" when done.
- gui_frame_drag.c (setup_var_drag, setup_value_drag): moved common setup to
setup_drag_common
- gui_frame_drag.c (setup_frame_drag, drag_frame_motion), gui_frame_drag.h,
gui_frame.c (frame_select_event, build_frame_label): added infrastructure for
dragging frames
- gui_frame_drag.c (setup_canvas_drag, drag_canvas_motion), gui_frame_drag.h,
gui_canvas.c (motion_notify_event, make_canvas): added infrastructure for
dragging to the canvas
- gui_frame.c (table_var_select_event, table_value_select_event, build_table):
split logic into press and release action, so that we can drag without
implicitly selecting
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5930 99fdad57-331a-0410-800a-d7fa5415bdb3
a column, drag the variable or any of its values and drag horizontally. To move
a row, drag one of its value vertically.
- gui_frame.c (table_var_select_event, table_value_select_event): return FALSE
if dragging is possible
- gui_frame.c (build_table), gui_frame_drag.h, gui_frame_drag.c, Makefile:
support for rearranging tables using Gtk's drag and drop mechanism
- TODO: two items less
git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5929 99fdad57-331a-0410-800a-d7fa5415bdb3