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
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
Werner Almesberger
547e7059ae
eeshow/gui/gui.c: begin moving input (mouse, keyboard) handling to input.c (WIP)
...
We had input state scattered all over the place. This cleans things up.
We also merge the functions of left and (previously) middle button.
This breaks history panning.
2016-08-18 01:49:20 -03:00
Werner Almesberger
c4811c8dd6
eeshow/: util.h and diag.c go to misc/
2016-08-17 21:37:15 -03:00
Werner Almesberger
4836dcb0ca
eeshow/delta.c: goes to kicad/
2016-08-17 21:33:10 -03:00
Werner Almesberger
766f1d64f3
eeshow/misc.c: goes to gfx/, too
2016-08-17 21:31:56 -03:00