Werner Almesberger
6b901399ce
eeshow/gfx/diff.c (diff_to_canvas): draw caller-supplied areas
...
These are for future highlighting. WIP.
2016-08-19 21:25:48 -03:00
Werner Almesberger
f244fa09c7
eeshow/gui/gui.c (add_hist): initialize hist->libs_open
...
This is normally done by parse_files, except when we can't find the
schematics file.
2016-08-19 20:46:48 -03:00
Werner Almesberger
1805118940
eeshow/gui/: sel_split to select 2nd version; sel_only doesn't set old_hist
2016-08-19 17:58:03 -03:00
Werner Almesberger
c612cd331b
eeshow/: make WebKit optional; add Gtk-based fallback viewer
2016-08-19 17:35:41 -03:00
Werner Almesberger
3307eb5b05
eeshow/gui/history.c (click_history): jumped to wrong sheet on sel_new + swap
...
In this case, both (!) old and new changed:
old old -> new new
selected -> new old
This caused eeshow to lose sheet navigation.
Reported by Joerg Reisenweber.
2016-08-19 15:30:42 -03:00
Werner Almesberger
35bc584767
eeshow/gui/help.c: properly support the "destroy" event
2016-08-19 14:47:11 -03:00
Werner Almesberger
f8c00fb6a2
eeshow/gui/help.c (new_help_window): set default font size to 10 (was 16)
2016-08-19 14:37:35 -03:00
Werner Almesberger
ebbb986768
eeshow/: add online help with h or ? (WIP)
2016-08-19 14:34:25 -03:00
Werner Almesberger
c6db84aa26
eeshow/gui/sheet.c (toggle_old_new): Tab toggles between diff_old and diff_new
2016-08-19 12:34:37 -03:00
Werner Almesberger
2b0640f15d
eeshow/gui/: in diff_old, use sheet from old_hist for AoIs
2016-08-19 12:24:05 -03:00
Werner Almesberger
133a9c8ae3
eeshow/gui/sheet.c: clicking on the revision overlays changes diff mode
2016-08-19 07:34:31 -03:00
Werner Almesberger
c012addf4a
eeshow/gui/sheet.c (revision_overlays_diff): support selection of diff mode
2016-08-19 07:24:25 -03:00
Werner Almesberger
4f9a9f1d0d
eeshow/gui/sheet.c (sheet_key): recognize GDK_KEY_KP_Home, GDK_KEY_KP_Delete
2016-08-19 07:09:57 -03:00
Werner Almesberger
006d83057b
eeshow/gui/: difference display can now be switched with New/Old/Diff
...
Still need a GUI way to do the same.
2016-08-19 07:08:22 -03:00
Werner Almesberger
6ff7d63312
eeshow/gui/: highlight glabels
2016-08-19 06:49:47 -03:00
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