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

282 Commits

Author SHA1 Message Date
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
Werner Almesberger
ccf77a541d eeshow/cro.c (cr_arc): close the path for filled arcs
Else, we'd get little "horns" at the ends.
2016-08-16 02:33:37 -03:00
Werner Almesberger
ae80cde66c eeshow/lib-render.c (draw_arc): support filling 2016-08-16 02:33:35 -03:00
Werner Almesberger
7603e917c3 eeshow/lib-parse.c (parse_def): suppress pin name and number if power symbol 2016-08-16 02:14:45 -03:00
Werner Almesberger
a03f41a845 eeshow/text.c (text_fig): correct vertical alignment of multi-line text
We used the first line as alignment point, not the last line.
2016-08-16 02:06:40 -03:00
Werner Almesberger
6fe19f52e9 eeshow/: support selection of "De Morgan" style 2016-08-16 01:47:07 -03:00
Werner Almesberger
7d72a28c31 eeshow/fig.c (fig_init): use getline instead of fgets 2016-08-16 01:34:26 -03:00
Werner Almesberger
37351bf8bc eeshow/file.c (file_read): use getline instead of fgets
OSHW-SCHEM-PCB10mm of github.com:cpavlina/kicad-schlib/library/symbol.lib
has a line > 1000 characters.
2016-08-16 01:24:04 -03:00
Werner Almesberger
8a087797b2 eeshow/lib-parse.c (decode_style): also recognize "Italic" 2016-08-16 01:00:20 -03:00
Werner Almesberger
b9e51a7788 eeshow/README: document modes of usage 2016-08-16 00:21:33 -03:00
Werner Almesberger
0119b82340 eeshow/gui.c (button_press_event): filter out double-click
That tripped an assertion in gui-aoi.c
2016-08-16 00:19:51 -03:00
Werner Almesberger
0d975a57d0 eeeshow/gui-aoi.c (aoi_down): don't accept click on non-clickable AoI 2016-08-16 00:19:23 -03:00
Werner Almesberger
b67f6b9a96 eeshow/gui-over.c: make list doubly-linked; reverse when dy < 0 2016-08-15 04:47:43 -03:00
Werner Almesberger
375efa6476 eeshow/gui.c (hover_glabel): don't test outer loop variable in inner loop 2016-08-15 04:34:02 -03:00
Werner Almesberger
562f36b20c eeshow/gui-over.c: outwitted myself with the overlay direction logic 2016-08-15 04:33:34 -03:00
Werner Almesberger
5e9bc68093 eeshow/gui.c (set_history_style): show revisions without valid sheets in red 2016-08-15 00:53:14 -03:00
Werner Almesberger
8d465b0da0 eeshow/gui-over.c (overlay_draw): simplify; correct reverse alignment 2016-08-14 14:52:07 -03:00
Werner Almesberger
a61560f119 eeshow/gui.c (on_draw_event): don't reverse direction at end of history 2016-08-14 14:36:34 -03:00
Werner Almesberger
d8f3319264 eeshow/gui-over.c: more fine-grained control over stacking direction 2016-08-14 14:35:57 -03:00
Werner Almesberger
a3301f95ae eeshow/gui.c: show progress bar on main window 2016-08-14 13:51:30 -03:00
Werner Almesberger
6345c44dad eeshow/: history list can now be dragged 2016-08-14 13:01:58 -03:00
Werner Almesberger
5ccd805b43 eeshow/gui-aoi.c: prepare API for future dragging support 2016-08-14 12:31:09 -03:00
Werner Almesberger
c00f065993 eeshow/sch-parse.c (recurse_sheet): sheet->title must be malloc'ed 2016-08-14 12:13:33 -03:00
Werner Almesberger
93b7269a3e eeshow/: field visibility in schematics completely overrides library 2016-08-14 10:55:22 -03:00
Werner Almesberger
88287cae35 eeshow/delta.c (comp_fields_eq): remove redundant initialization 2016-08-14 10:41:31 -03:00
Werner Almesberger
57dbe2344c eeshow/sch-parse.c (parse_field): fix small memory leak 2016-08-14 10:21:11 -03:00
Werner Almesberger
092386d0c2 eeshow/gui.c: show commits that don't change the schematics in grey 2016-08-14 10:13:41 -03:00
Werner Almesberger
bbfa7c573a eeshow/sch-parse.c (parse_line): always initialize u.text.shape
Even for text and (local) labels, which use no shape attribute.
2016-08-14 10:12:58 -03:00
Werner Almesberger
dd952eabf1 eeshow/delta.c (obj_eq): optionally recurse into sub-sheets 2016-08-13 03:19:40 -03:00
Werner Almesberger
174a57d6c5 eeshow/delta.c (sheet_eq): sheet comparison, for history compression 2016-08-13 03:16:14 -03:00
Werner Almesberger
d63c1a8ffe eeshow/gui.c (parse_files): don't expect number of libs to be constant 2016-08-12 14:50:13 -03:00
Werner Almesberger
4c86cc1b46 eeshow/: missing components are no longer fatal 2016-08-12 14:43:29 -03:00
Werner Almesberger
7af9b85e6c eeshow/: add a progress bar when starting (WIP)
Positioning is still very bad.
2016-08-12 14:43:29 -03:00
Werner Almesberger
5a7ddc8b95 eeshow/: convert "perror" to diagnostic functions 2016-08-12 14:43:28 -03:00
Werner Almesberger
d1fdcaeab4 eeshow/gui.c: limit = 0 means "no limit", not "no revisions" 2016-08-12 10:42:03 -03:00
Werner Almesberger
62ca12c2da eeshow/: use dedicated functions for diagnostics, instead of fprintf and exit 2016-08-12 10:40:55 -03:00
Werner Almesberger
3e236d0456 eeshow/: output progress messages with "progress" 2016-08-11 17:44:26 -03:00
Werner Almesberger
5581a34444 eeshow/main.c (verbose): move to new file diag.c
In preparation of a more flexible diagnostics system.
2016-08-11 16:36:24 -03:00
Werner Almesberger
1a7c311c87 eeshow/lib-render.c (draw_pin_name): "~" means "no name" 2016-08-11 10:08:28 -03:00
Werner Almesberger
5a2324169e eeshow/: properly handle fake history record for uncommitted changes 2016-08-11 03:24:34 -03:00
Werner Almesberger
2ef7eab861 eeshow/lib-render.c (draw_pin_name): skip initial ~ in pin name 2016-08-11 03:09:23 -03:00
Werner Almesberger
82635e8a41 eeshow/sch-parse.c (parse_line): use sub-sheet name as title, instead of title
In Anelok, all sheets have the same title, but different sub-sheet names.
So this is probably a more reliable heuristic.
2016-08-11 02:49:40 -03:00
Werner Almesberger
7cc2142e83 eeshow/sch-parse.c: remove #include left over from debugging 2016-08-11 02:44:33 -03:00
Werner Almesberger
f6352219b1 eeshow/sch-render.c (render_sheet): place subsheet labels correctly 2016-08-11 02:43:01 -03:00
Werner Almesberger
353aec1863 eeshow/dwg.c (dwg_hlabel): style for tri-state is the same as for bidir 2016-08-11 02:42:37 -03:00
Werner Almesberger
bddbad65f1 eeshow/misc.c (matrix_to_angle, matrix_is_mirrored): add matrix 0, -1, 1, 0
Probably mirrored + 270 deg.
2016-08-11 02:35:56 -03:00
Werner Almesberger
06d5a924c6 eeshow/: support component aliases 2016-08-11 02:32:00 -03:00
Werner Almesberger
3e102752f6 eeshow/gui.c (select_subsheet): do nothing if we didn't load subsheets 2016-08-11 01:49:49 -03:00
Werner Almesberger
f5c908c36f eeshow/gui.c: proof-of-concept implementation of jumping by glabel
What's still missing:
- don't require click to dehover
- help to find glabel on destination sheet
- help with finding glabel on current sheet
- avoid darkened overlap
- maybe indicate in/out/bidir/passive
2016-08-11 01:27:59 -03:00