1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-09-30 04:16:22 +03:00
Commit Graph

330 Commits

Author SHA1 Message Date
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
Werner Almesberger
9829f7070f eeshow/: move graphics low-level functions to gfx/ 2016-08-17 21:28:42 -03:00
Werner Almesberger
c353129172 eeshow/kicad/dwg.h: don't include fig.h; forgot to include text.h in lib.h 2016-08-17 21:17:35 -03:00
Werner Almesberger
e0c1e533f4 eeshow/: move parsing and high-level rendering to kicad/ 2016-08-17 21:15:44 -03:00
Werner Almesberger
097192b7b4 eeshow/: move file and history access to file/ 2016-08-17 21:07:13 -03:00
Werner Almesberger
b9329b09d2 eeshow/fmt-pango.c, fmt-pango.h: also move to gui/ 2016-08-17 21:00:02 -03:00
Werner Almesberger
4d40267974 eeshow/: move gui* into subdirectory gui/ 2016-08-17 20:54:25 -03:00
Werner Almesberger
bcd34eaf7d eeshow/diag.h: use __attribute__((format(printf, ... 2016-08-17 04:43:15 -03:00
Werner Almesberger
7604c64d16 eeshow/DEMO: add Olimex A64-OLinuXino 2016-08-17 04:42:00 -03:00
Werner Almesberger
6f79ecdc3f eeshow/gui.c (show_history): skip (compact) commits without changes 2016-08-17 04:41:27 -03:00
Werner Almesberger
3674d4eb75 eeshow/fmt-pango.c: support %u format; use __attribute__((format... 2016-08-17 04:39:59 -03:00
Werner Almesberger
a0be60f935 eeshow/style.h (COLOR_COMP_DWG_BG): use lighter yellow for background
0xffffc2 is the same color KiCad uses.
2016-08-16 12:27:37 -03:00
Werner Almesberger
f08f43d706 eeshow/fig.c: output all user-defined colors 2016-08-16 12:20:27 -03:00
Werner Almesberger
5edf1923f0 eeshow/TODO: update 2016-08-16 05:19:23 -03:00
Werner Almesberger
18fc781b01 eeshow/DEMO: add c4puter/motherboard as another example 2016-08-16 05:17:05 -03:00
Werner Almesberger
f893e17ed9 eeshow/sch-parse.c (parse_field): accept escaped quotes (WIP)
We should also remove the backslash.
2016-08-16 05:15:38 -03:00
Werner Almesberger
3c7033ce61 eeshow/: missing sheets are now flagged in red, instead of failing the revision 2016-08-16 04:07:42 -03:00
Werner Almesberger
e349ae0d1f eeshow/delta.c (sheet_eq): check if one sheet title is NULL
May have caused a segfault.
2016-08-16 03:47:35 -03:00
Werner Almesberger
c5fcf2c16e eeshow/diff.c (AREA_FILL): change from yellow to light purple
The yellow looked almost like eeschema's background fill color, making it
difficult to see change indications.
2016-08-16 03:19:39 -03:00
Werner Almesberger
06a614d2c2 eeshow/git-file.c (find_file): use git_repository_workdir, for submodules 2016-08-16 03:14:50 -03:00