1
0
mirror of git://projects.qi-hardware.com/eda-tools.git synced 2024-12-24 19:01:45 +02:00
Commit Graph

65 Commits

Author SHA1 Message Date
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
Werner Almesberger
cfa25b4b4c eeshow/gui.c: show glabel pop-up on glabel 2016-08-10 23:47:08 -03:00
Werner Almesberger
0fdce017fb eeshow/: make glabels hoverable (WIP) 2016-08-10 21:50:07 -03:00
Werner Almesberger
d63b534fb3 eeshow/gui.c: show sheet number on hover 2016-08-10 20:41:33 -03:00
Werner Almesberger
8a0a79e461 eeshow/util.h (alloc_type_n): get rid of all these alloc_size(sizeof(foo), n) 2016-08-10 20:28:31 -03:00
Werner Almesberger
2ab72ab0e3 eeshow/gui.c (sheet_selector_recurse): we can now jump to the exact sheet
No need for the "go up" hack.
2016-08-10 20:24:03 -03:00
Werner Almesberger
97de1dda47 eeshow/gui.c (struct gui_sheet): record ctx, to allow for simpler callbacks 2016-08-10 20:20:51 -03:00
Werner Almesberger
cf2ca585f5 eeshow/gui.c: write down some more thoughts on making caching better 2016-08-10 20:15:07 -03:00
Werner Almesberger
8f352832e0 eeshow/: simple caching of sheets
We only reuse previous sheets if ...

- they have no sub-sheets, and
- all the libraries are identical.

This reduces the -N-150 time from 8.3 s (caching only libraries) to 4.3 s.

Since we only need to know whether there are sub-sheets, but not what
exactly they are, we can also partially undo the previous commit,
77c0e07590
2016-08-10 19:37:44 -03:00
Werner Almesberger
b6975e3998 eeshow/gui.c: only parse libraries if any have changed
This reduced the time for
./eeshow -N-150 -r neo900.lib /home/qi/kicad-libs/components/powered.lib /home/n9/ee/hw/neo900.sch

from 10.3 (not caching anything) s to 8.3 s (caching libraries).
2016-08-10 16:17:58 -03:00
Werner Almesberger
4a2177e041 eeshow/gui.c (add_hist): avoid excessive use of "(*anchor)" 2016-08-10 14:07:03 -03:00
Werner Almesberger
971ba27131 eeshow/gui.c (struct gui_hist.hist): rename to vcs_hist
Removing some ambiguity.
2016-08-10 14:05:11 -03:00
Werner Almesberger
54922dc343 eeshow/: option -N depth to limit history depth; -N-depth exits after parsing 2016-08-10 09:08:22 -03:00
Werner Almesberger
539f72b0d9 eeshow/gui.c: move style definitions to gui-style.h 2016-08-09 19:21:02 -03:00
Werner Almesberger
2682625e7d eeshow/gui.c (setup_styles): we no longer need this (compose on the fly) 2016-08-09 19:05:03 -03:00
Werner Almesberger
672228148d eeshow/gui.c: replace {curr,last}_hist with {new,old}_hist
Since we already change the UI paradigm, this greatly simplifies the code.
2016-08-09 19:01:05 -03:00
Werner Almesberger
2bd452d3b3 eeshow/gui.c: redesign selection history to use old/new paradigm (WIP)
Also improved visual representation.
2016-08-09 18:28:59 -03:00
Werner Almesberger
f973abd98c eeshow/gui-over.c: move styles to gui-style.c 2016-08-09 15:30:30 -03:00
Werner Almesberger
29f4db55ed eeshow/gui.c: newer revision is on top and in diffs it's green 2016-08-09 14:16:05 -03:00
Werner Almesberger
afe744c63e eeshow/gui.c: clicking outside the history list now closes it 2016-08-09 13:28:27 -03:00
Werner Almesberger
bbb375ce26 eeshow/gui.c: show clickable overlay boxes also for parents of current sheet 2016-08-09 12:55:29 -03:00
Werner Almesberger
d4e3018c12 eeshow/gui.c (go_to_sheet): don't try to access history if we have none 2016-08-09 12:03:36 -03:00
Werner Almesberger
20c821f0ba eeshow/gui.c (curr_sheet_size): also support diff mode 2016-08-09 11:20:54 -03:00
Werner Almesberger
eff0ad4860 eeshow/gui.c (zoom_to_extents): abstract obtaining the sheet size 2016-08-09 10:58:29 -03:00
Werner Almesberger
4988736351 eeshow/gui.c: experimentally use pixel differences (WIP)
This still has a number of bugs but the basics work.
The most glaring issues:
- AoI coordinates are wrong, so AoIs don't really work
- "center and zoom to extents" is all wrong
2016-08-09 10:16:31 -03:00
Werner Almesberger
f8cc8ba598 eeshow/gui.c (gui): set default size to 640 x 480 pixels 2016-08-07 22:34:01 -03:00
Werner Almesberger
24422a7721 eeshow/gui.c: show either revisions or history, never both at the same time
Also move the revisions to the left edge, to ease navigation.
2016-08-07 21:47:50 -03:00
Werner Almesberger
f40f012a1e eeshow/: add color overriding; basic infrastructure for viewing deltas 2016-08-07 14:06:50 -03:00
Werner Almesberger
c2c58f6892 eeshow/: selection of 2nd history entry (for comparisons, WIP) 2016-08-07 07:51:56 -03:00
Werner Almesberger
cb7902fcb2 eeshow/gui.c (struct gui_ctx.vcs_overlays): rename to hist_overlays
We use "hist" everywhere else to refer to the history in the GUI context.
2016-08-07 06:23:04 -03:00
Werner Almesberger
bd7149ba0b eeshow/gui.c (setup_styles): present history "ragged right" 2016-08-07 06:16:41 -03:00
Werner Almesberger
56e36b7e9d eeshow/: move sheet overlays to right screen edge; move history left 2016-08-07 06:13:26 -03:00
Werner Almesberger
c908e4de0e eeshow/gui.c: show details also on hover in history list 2016-08-07 05:22:55 -03:00
Werner Almesberger
3c71bf7b05 eeshow/: hovering over the revision shows more details 2016-08-07 05:09:34 -03:00
Werner Almesberger
cb4ee6d5b9 eeshow/: work around the ink_rect.y bug more elegantly
Still have no clue what causes this.
2016-08-06 23:02:42 -03:00
Werner Almesberger
51f6852bf9 eeshow/: overlays can now have different styles (WIP) 2016-08-06 20:46:03 -03:00
Werner Almesberger
18c3b6e476 eeshow/: use printf-style formatting for overlay text; test mode -F fmt string 2016-08-06 19:14:31 -03:00
Werner Almesberger
3b5daecbd6 eeshow/gui.c (go_to_sheet): don't "render" (record) sheets before shown 2016-08-06 10:19:16 -03:00
Werner Almesberger
acbce9a214 eeshow/gui.c: add navigation in history 2016-08-06 10:00:29 -03:00
Werner Almesberger
b067cf9a38 eeshow/gui.c: parse sheets for each revision
We currenly make no effort to avoid duplicate work, so this is slow.
Also, we don't actually do anything with the revision information, yet.
2016-08-06 09:27:22 -03:00
Werner Almesberger
ce5111ae07 eeshow/gui.c (gui): quit if we couldn't parse (and don't segfault) 2016-08-05 21:28:45 -03:00
Werner Almesberger
f4944a5da9 eeshow/ (file_open, *_parse): return 0 on error (may still exit) 2016-08-05 21:02:57 -03:00
Werner Almesberger
5f0678097f eeshow/gui.c: get only list of file names from main, parse on its own 2016-08-05 10:24:39 -03:00
Werner Almesberger
dc2b477cf8 eeshow/gui.c: show commit on sheet (if available); click to go to history 2016-08-05 08:31:50 -03:00
Werner Almesberger
17e70172bf eeshow/: if sheet is in repo, retrieve history, display in GUI on Up/Down (WIP)
This isn't useful yet.
2016-08-04 20:35:41 -03:00
Werner Almesberger
1c6116a8d6 eeshow/: fix some whitespace issues
- trailing space
- space before semicolon
- indentation with spaces instead of tabs (copy & paste)
2016-08-04 19:25:31 -03:00
Werner Almesberger
8abea1b890 eeshow/gui.c, README: PgUp/PgDn iterate through sheets in sequence 2016-08-04 09:02:33 -03:00
Werner Almesberger
ff17f0e492 eeshow/gui.c: replace ugly and fragile "prev" logic with a simple search 2016-08-04 08:49:54 -03:00
Werner Almesberger
258876ef2c eeshow/: retrieve title from *.sch; prefer over subsheet name when displaying 2016-08-04 08:42:36 -03:00