1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-30 07:04:59 +02:00
Commit Graph

58 Commits

Author SHA1 Message Date
Werner Almesberger
b4df01a28d eeshow/TODO, gui/glabel.c (hover_glabel): update TODO; explain hanging pop-ups 2016-08-19 06:05:42 -03:00
Werner Almesberger
2b80fcad45 eeshow/gui/glabel.c: allow other glabels to replace pop-up 2016-08-19 05:51:05 -03:00
Werner Almesberger
96fa1a2f62 eeshow/gui/aoi.c: make searches only consider AoIs supporting desired function 2016-08-19 05:35:37 -03:00
Werner Almesberger
10c1d0ede0 eeshow/gui/aoi.c (aoi_hover): use in_aoi instead of open-coding the comparison 2016-08-19 05:30:58 -03:00
Werner Almesberger
7eff14b7cd eeshow/gui/: use overlay_draw_all_d for glabels, due to offsets
The offsets can move the coordinates across zero, thus flipping the alignment.
overlay_draw_all_d is immune to this.
2016-08-19 05:22:42 -03:00
Werner Almesberger
85a47724d7 eeshow/gui/glabel.c (add_dest_overlay): show "(unnamed)", not "(null)"
... for unnamed sheet.
2016-08-19 05:09:00 -03:00
Werner Almesberger
fc5597e2a0 eeshow/gui/render.c: update section comments 2016-08-19 04:10:02 -03:00
Werner Almesberger
bd8f6ab353 eeshow/gui/aoi.c (need_devover): also check the loction of the related AoI 2016-08-19 03:42:01 -03:00
Werner Almesberger
bc0ae8ed67 eeshow/gui/glabel.c (add_dest_frame): make sheet destinations related to frame 2016-08-19 03:38:52 -03:00
Werner Almesberger
dbf09a8dba eeshow/gui/over.c (overlay_set_related, _all): support related AoIs 2016-08-19 03:32:41 -03:00
Werner Almesberger
49fe8518a5 eeshow/gui/aoi.c (aoi_set_related): AoIs can now share clicks
If A is related to B, then A can receive clicks while B is hovering,
without getting B de-hovered.

Note that in aoi_set_related(A, B), more than one A can share one B,
but an A can't have more than one B.
2016-08-19 03:25:56 -03:00
Werner Almesberger
fe5bc4a55a eeshow/gui/input.c (hover_update): handle a few more rare cases 2016-08-18 18:29:23 -03:00
Werner Almesberger
aced11f9f2 eeshow/gui/glabel.c (add_dest_header): don't change bg color for label name
It simply didn't look right.
2016-08-18 18:17:44 -03:00
Werner Almesberger
b224ba4288 eeshow/gui/glabel.c: hand off hover to pop-up; close pop-up when leaving 2016-08-18 18:14:57 -03:00
Werner Almesberger
cdcc1d3adc eeshow/gui/over.c (overlay_remove_all): make re-entrant safe 2016-08-18 18:14:14 -03:00
Werner Almesberger
b114f4e00e eeshow/gui/glabel.c: show glabel name in pop-up 2016-08-18 17:55:54 -03:00
Werner Almesberger
56a4479912 eeshow/gui/over.c (overlay_draw): shift border outside the content area
This also ensures that lines with an odd-numbered width are not blended.
2016-08-18 17:39:08 -03:00
Werner Almesberger
969356a0b8 eeshow/gui/glabel.c (add_dest_overlay): include current sheet in list 2016-08-18 17:27:20 -03:00
Werner Almesberger
3eff51bb89 eeshow/gui/history.c (RGBA, COLOR): move to style.h 2016-08-18 17:26:54 -03:00
Werner Almesberger
4b3f2a86a9 eeshow/gui/input.c (button_release_event): input_hovering_down -> input_idle 2016-08-18 17:19:37 -03:00
Werner Almesberger
0e9a308d6c eeshow/gui/: use underlay to draw a nice box for glabels 2016-08-18 17:13:36 -03:00
Werner Almesberger
76f7f80c88 eeshow/gui/: add "underlay" for pop-ups (WIP)
We'll use this to construct stacks for glabels.
2016-08-18 17:09:20 -03:00
Werner Almesberger
434d942377 eeshow/gui/over.c (overlay_size, _all): calculate height and width of overlay 2016-08-18 17:06:11 -03:00
Werner Almesberger
d364b60ebe eeshow/gui/over.h, over.c: allow also setting of min/max height 2016-08-18 16:08:12 -03:00
Werner Almesberger
f4208ed2ad eeshow/gui/glabel.c (hover_glabel): separate addition of destination overlay 2016-08-18 16:07:33 -03:00
Werner Almesberger
2f65506cdd eeshow/gui/over.c; add section comments 2016-08-18 14:05:22 -03:00
Werner Almesberger
25f3d3c509 eeshow/gui/sheet.c (sheet_drag_end): re-hover glabels after dragging 2016-08-18 13:40:09 -03:00
Werner Almesberger
b4384a72f4 eeshow/gui/input.c (clicked_x, _y): avoid accumulation of conversion errors
Gtk uses floating-point coordinates. The double conversion during dragging
(event -> clicked -> difference with next event) caused dragging to "slow
down" in the X- and Y- direction.
2016-08-18 13:36:06 -03:00
Werner Almesberger
d633fbf91d eeshow/gui/sheet.c (sheet_scroll): call input_update to maybe re-hover glabel 2016-08-18 13:13:06 -03:00
Werner Almesberger
baed3f8a69 eeshow/gui/input.c (input_update): update hovering after coordinate changes
E.g., when zooming in or out.
2016-08-18 13:12:09 -03:00
Werner Almesberger
f8742fa050 eeshow/gui/sheet.c (sheet_setup): wrong use of ctx, broke resizing
... with a segfault.
2016-08-18 12:52:37 -03:00
Werner Almesberger
cfa730459c eeshow/gui/gui.c: move rendering to render.c 2016-08-18 12:41:12 -03:00
Werner Almesberger
bbdf819c85 eeshow/gui/sheet.c: remove glabel pop-up when scrolling
Scrolling changes the geometry and the pop-up ended up at weird places.
2016-08-18 12:25:44 -03:00
Werner Almesberger
cb2cdd59e6 eeshow/gui/gui.c: better sectioning; trim includes 2016-08-18 12:16:13 -03:00
Werner Almesberger
4ffdeeb910 eeshow/gui/input.c: support hover -> drag; set state to idle after cleanup 2016-08-18 04:56:39 -03:00
Werner Almesberger
f2c8693a77 eeshow/gui/input.c (motion_notify_event): misinterpreted hover_update result
This almost worked, except that it sometimes left hovering on after leaving
an AoI, which then caused a subsequent drag to be handled as hover_click.
This caused the history list sometimes to be closed when trying to drag.
2016-08-18 04:36:14 -03:00
Werner Almesberger
fd18690498 eeshow/gui/input.c: add tracing (-v -v -v); rename input_normal to input_idle 2016-08-18 04:34:51 -03:00
Werner Almesberger
822a14fc55 eeshow/gui/sheet.c: improve sectioning of code 2016-08-18 04:22:27 -03:00
Werner Almesberger
aca913b333 eeshow/gui/history.c: void forward-declaration of history_input_ops 2016-08-18 04:12:14 -03:00
Werner Almesberger
8d3b642fb2 eeshow/gui/history.c: provide complete set of input functions 2016-08-18 04:10:35 -03:00
Werner Almesberger
9792a22799 eeshow/gui/gui.c (eeschema_coord): only used in glabel.c, move there 2016-08-18 04:01:45 -03:00
Werner Almesberger
23fed29423 eeshow/gui/gui.c: move history list to history.c 2016-08-18 03:59:12 -03:00
Werner Almesberger
4ae81be02a eeshow/gui/gui.c: move sheet navigation to sheet.c 2016-08-18 03:50:43 -03:00
Werner Almesberger
4191931c06 eeshow/gui/gui.c: move global label pop-up to glabel.c 2016-08-18 03:07:43 -03:00
Werner Almesberger
6975c2b6d5 eeshow/gui/gui.c: move progress bar handling to progress.c 2016-08-18 02:53:39 -03:00
Werner Almesberger
f981ec1a63 eeshow/gui/gui.c: move common data structures to common.h
Preparing for splitting gui.c into more manageable parts.
2016-08-18 02:48:57 -03:00
Werner Almesberger
ab1948a62c eeshow/gui/gui.c: dragging closes glabel pop-up 2016-08-18 02:44:06 -03:00
Werner Almesberger
6847165604 eeshow/aoi.c, aoi.h: remove dragging support (now in input.c)
The crazy detour through aoi.c and over.c is no longer needed.
2016-08-18 02:13:55 -03:00
Werner Almesberger
d78caddaf9 eeshow/gui/over.h, over.c: remove dragging support (now input.c)
The crazy detour through aoi.c and over.c is no longer needed.
2016-08-18 02:08:02 -03:00
Werner Almesberger
fc1fbece43 eeshow/gui/: bring back scrolling of the history
Now it's more usable than before, since clicking between commits won't
close the history.
2016-08-18 02:05:43 -03:00