1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-11-26 01:32:48 +02:00
Commit Graph

368 Commits

Author SHA1 Message Date
Werner Almesberger
532c9bc82f eeshow/TODO: supporting PDF TOC 2016-08-21 11:38:29 -03:00
Werner Almesberger
5fd877a6f8 eeshow/gfx/cro.c: support PDF TOC addition; option -T to suppress it 2016-08-21 11:37:47 -03:00
Werner Almesberger
71d03c7281 eeshow/gfx/pdftoc.c: edit Cairo-generated PDF to insert TOC
Based on schtoc.pl
2016-08-21 11:34:12 -03:00
Werner Almesberger
7652f3a88f eeshow/gfx/gfx.c (gfx_sheet_name): pass sheet name (title) to driver 2016-08-21 11:32:13 -03:00
Werner Almesberger
1930eedb64 eeshow/util/diag.h (pfatal): mark as "noreturn" 2016-08-21 02:50:46 -03:00
Werner Almesberger
505ffe0c17 eeshow/gui/gui.c: forgot to #include icons.h, oops 2016-08-21 02:41:19 -03:00
Werner Almesberger
bb30214c5f eeshow/TODO: add some more ideas 2016-08-21 02:03:00 -03:00
Werner Almesberger
c8dfe1c4f6 eeshow/Makefile, gui/sheet.c: grow icons from 16 to 20 pixels reduce padding 2016-08-21 02:01:36 -03:00
Werner Almesberger
72a84bb29a eeshow/README: add new prerequisites transfig and transfig, imagemagick 2016-08-21 01:28:52 -03:00
Werner Almesberger
e5e53ec904 eeshow/gui/sheet.c (add_delta): use pretty icons instead of unicode 2016-08-21 01:26:44 -03:00
Werner Almesberger
e33f755179 eeshow/: add icon loader and icons for "delta" and "diff" 2016-08-21 01:26:31 -03:00
Werner Almesberger
5a7d37ce73 eeshow/gui/over.c, over.h: support icon overlays 2016-08-21 01:24:42 -03:00
Werner Almesberger
3affbc3c3c eeshow/gui/over.c, over.h: make coordinates "int" (to avoid bad surprises) 2016-08-20 23:57:56 -03:00
Werner Almesberger
e88fd0ac6c eeshow/gui/over.c (overlay_draw): break down into more manageable parts 2016-08-20 23:56:16 -03:00
Werner Almesberger
b7fc07b650 eeshow/gui/render.c (on_draw_event): also mark changed subsheets in delta mode 2016-08-20 23:27:02 -03:00
Werner Almesberger
383676f1ad eeshow/kicad/delta.c: improve sectioning 2016-08-20 23:17:29 -03:00
Werner Almesberger
ab888e7bdc eeshow/kicad/delta.c: merge adjacent wires going in the same direction 2016-08-20 23:14:07 -03:00
Werner Almesberger
54afbf5b68 eeshow/kicad/delta.c (comp_eq_objs): move object comparison to comp_eq_obj
We use "return" quite a lot, which isn't what one would want in that loop.
2016-08-20 22:34:07 -03:00
Werner Almesberger
c12f5f34a6 eeshow/kicad/delta.c (comp_eq_objs): rectangle comparison was very confused 2016-08-20 22:21:14 -03:00
Werner Almesberger
c42fe2f5a2 eeshow/kicad/dwg.c (dwg_line): use common direction, to avoid false pixel diffs 2016-08-20 22:13:59 -03:00
Werner Almesberger
d4b06ff3da eeshow/kicad/delta.c (obj_eq): also reversed wires are equal 2016-08-20 22:09:01 -03:00
Werner Almesberger
27065ad42f eeshow/kicad/delta.c (comp_eq_objs): we never properly compared lib_obj_poly 2016-08-20 20:57:54 -03:00
Werner Almesberger
0d2b024d9c eeshow/gui/ (aoi_click): also protect from access after free
Unlike aoi_hover, aoi_click was not observed to actually run into this
problem. But better safe than sorry.
2016-08-20 20:42:34 -03:00
Werner Almesberger
eeda1c1700 eeshow/gui/ (aoi_hover): could cause an access after free 2016-08-20 20:39:08 -03:00
Werner Almesberger
dbcacbde0c eeshow/gui/glabel.c (hover_glabel): more discussion of "hanging" pop-ups 2016-08-20 18:29:54 -03:00
Werner Almesberger
ff47d69d25 eeshow/gfx/diff.c (complement_box): determine limits outside the loops 2016-08-20 15:54:32 -03:00
Werner Almesberger
3b76b058fd eeshow/gfx/: don't overthink coordinate transforms
The xe/ye element was completely unnecessary because we never have an
offset at the pixel level. Furthermore, it was used incorrectly, causing
a shift between old and new when xmin/ymin differed.
2016-08-20 15:05:34 -03:00
Werner Almesberger
1e13572283 eeshow/gui/sheet.c (add_delta): show inverted greek delta when in delta mode 2016-08-20 09:30:38 -03:00
Werner Almesberger
c06680e272 eeshow/gfx/cro.c (cr_text_width): use cd/dc, not cx/xc
We don't want to risk getting sheet offsets mixed into our text sizes.
2016-08-20 09:24:27 -03:00
Werner Almesberger
adfb52d12d eeshow/gfx/cro.c (xc): mixed up offset calculation
Apparently, this had no major effect.
2016-08-20 09:19:35 -03:00
Werner Almesberger
b289869f2a eeshow/TODO: update 2016-08-20 09:04:27 -03:00
Werner Almesberger
23a2340ca8 eeshow/gui/render.c: resurrect delta mode (A toggles between delta and diff) 2016-08-20 09:01:59 -03:00
Werner Almesberger
b5d2b05757 eeshow/gui/render.c (hack): experimental highlighting of changed sub-sheets
This doesn't quite work yet, due to delta's sheet_eq being overzealous.
But we get the foot in :)
2016-08-20 08:57:41 -03:00
Werner Almesberger
13fcf8ce3a eeshow/gfx/diff.c: export area creation and freeing 2016-08-20 08:26:01 -03:00
Werner Almesberger
169e34d50f eeshow/: Esc cancels current action 2016-08-20 07:50:15 -03:00
Werner Almesberger
12c9c6bb4c eeshow/Makefile: rebuild version.o only when linking; don't use .PHONY on it 2016-08-20 07:40:56 -03:00
Werner Almesberger
654c97e89e eeshow/: don't use ? for help
We may want to use it in the future for searching (/ forward, ? backward, etc.)
2016-08-20 07:01:42 -03:00
Werner Almesberger
67fab71ed7 eeshow/gui/gui.c (gui): show build commit in window title 2016-08-19 21:30:58 -03:00
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
a6640058ff eeshow/: eeshow -V prints the commit from which eeshow was built 2016-08-19 19:53:32 -03:00
Werner Almesberger
84de6b9ce6 eeshow/kicad/sch-parse.c (parse_field): verify that we actually reached the %n 2016-08-19 19:39:35 -03:00
Werner Almesberger
6be9e7ac0c eeshow/gfx/diff.c (merge_coord): typo caused offset troubles 2016-08-19 19:15:39 -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
490a9b9e49 eeshow/: use webkit2gtk-4.0, not webkit2gtk-3.0 2016-08-19 15:58:28 -03:00
Werner Almesberger
e5c6fc7351 eeshow/TODO: help screen is implemented 2016-08-19 15:44:34 -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
e72d476e71 eeshow/TOOD: add help, location string (for collaborative viewing) 2016-08-19 13:26:24 -03:00
Werner Almesberger
c24c966fb0 eeshow/gfx/diff.c (show_areas): break out the actual coloring
... for future sharing.
2016-08-19 13:25:33 -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
3c0adecf86 eeshow/TODO: coordinate offsets between diff_* disagree 2016-08-19 12:28:14 -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
040a5af28f eeshow/file/git-util.c (git_init_once): use git_threads_init in old libgit2
Joerg has some ancient SuSE from 2014 where only libgit2 0.21 works ...
2016-08-19 04:59:10 -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
64ddbc3c61 eeshow/misc/util.h (sign1): return sign of argument, return 1 for 0 2016-08-18 17:12:42 -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
55647987b5 eeshow/TODO: expand glabel issues 2016-08-18 13:53:37 -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
7c4ee702e0 eeshow/main.c: run under gdb if argv[1] is "gdb"
I.e., instead of
eeshow foo bar
invoke with
eeshow gdb foo bar
2016-08-18 12:06:33 -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