2009-08-09 03:06:54 +03:00
|
|
|
Major missing features:
|
2009-08-11 23:52:33 +03:00
|
|
|
- add postscript output (partially done)
|
2009-08-09 03:06:54 +03:00
|
|
|
- add option to include/omit helper vecs and frames (done for display, still
|
2009-08-11 23:52:33 +03:00
|
|
|
need postscript). Better idea: in PS, print the component 10x, 1x, and then
|
|
|
|
each individual frame 10x.
|
2009-08-09 03:06:54 +03:00
|
|
|
|
|
|
|
Minor missing features:
|
2009-08-07 03:48:06 +03:00
|
|
|
- reorder frames (can use text editor)
|
|
|
|
- reorder rows in a table (can use text editor)
|
|
|
|
- reorder columns in a table
|
|
|
|
- reorder variables in a frame (can use text editor)
|
2009-08-22 02:28:38 +03:00
|
|
|
- move items/vectors up and down the hierarchy
|
2009-08-03 19:12:47 +03:00
|
|
|
|
|
|
|
Error detection:
|
|
|
|
- eliminate duplicate instances
|
|
|
|
|
2009-08-22 02:28:38 +03:00
|
|
|
Style and usability:
|
2009-08-03 19:12:47 +03:00
|
|
|
- make column of entry field greedily consume all unallocated space
|
2009-08-09 03:06:54 +03:00
|
|
|
- make menu bar consume all unallocated space instead of sharing it evenly with
|
|
|
|
upper toolbar
|
2009-08-04 03:23:10 +03:00
|
|
|
- status area looks awful
|
2009-08-05 21:43:00 +03:00
|
|
|
- add button with GTK_STOCK_UNDELETE for "undelete" to menu bar
|
2009-08-16 14:21:48 +03:00
|
|
|
- maximizing pad name size creates uneven text sizes. Particularly "1" gets
|
|
|
|
excessively large.
|
|
|
|
- pango_layout_get_size doesn't seem to consider rotation, so we currently
|
|
|
|
don't properly size rotated text.
|
2009-08-17 23:42:51 +03:00
|
|
|
- when changing the part, we should automatically switch to a configuration
|
|
|
|
that generates any of its (non-global) elements
|
2009-08-22 02:28:38 +03:00
|
|
|
- add zoom controls to top toolbar
|
|
|
|
- add tooltips
|
2009-08-03 19:12:47 +03:00
|
|
|
|
|
|
|
Bugs:
|
|
|
|
- default silk width has no business being hard-coded in obj.c
|
2009-08-05 03:32:38 +03:00
|
|
|
- undelete only works if not much has changed since the deletion
|
2009-08-09 04:51:20 +03:00
|
|
|
- focus should return to canvas if nobody else wants it
|
2009-08-16 07:12:37 +03:00
|
|
|
- whenever we call parse_* for input parsing, we may leak lots of expressions
|
2009-08-17 23:42:51 +03:00
|
|
|
- can't edit measurement labels through the GUI
|
2009-08-21 22:19:33 +03:00
|
|
|
- unbalanced parentheses in text throw off Postscript syntax
|
2009-08-22 15:27:47 +03:00
|
|
|
- we can't drag points that are at a frame base
|
2009-08-03 19:12:47 +03:00
|
|
|
|
|
|
|
Code cleanup:
|
|
|
|
- merge edit_unique with edit_name
|
|
|
|
- merge find_var_in_frame with similar mechanisms in expr.c and fpd.y
|
|
|
|
- add regression tests
|
2009-08-10 16:51:51 +03:00
|
|
|
- the drag logic is too complex. Better: let tool/instance just generate the
|
|
|
|
list of points at each stage, then handle the highlighting and hovering
|
|
|
|
inside a dragging module.
|
2009-08-11 23:52:33 +03:00
|
|
|
- code organization is very poor. E.g., functions belonging to the different
|
|
|
|
items (pads, silk objects, vectors, etc.) should be grouped by item, not by
|
|
|
|
type of function, similar to how some things are now with gui_meas.c
|
2009-08-12 02:26:38 +03:00
|
|
|
- eval_string_var should be merged into eval_var and the result should be a
|
|
|
|
struct num (?) that can contain both types. This also means changing all the
|
|
|
|
ops to handle/reject strings.
|
2009-08-03 19:12:47 +03:00
|
|
|
|
|
|
|
Open decisions:
|
|
|
|
- Q: should loop be (start, last) or (start, iterations) ? or start ... last ?
|
|
|
|
- change vector circle color ? (also, highlight on hover ?)
|
|
|
|
- Q: allow reassignment of vector names ?
|
|
|
|
A1: no: would cause confusion in GUI (vectors could become orphaned)
|
|
|
|
A2: yes. but we don't change the linkage.
|
|
|
|
- Q: how do we handle stacks of objects ?
|
|
|
|
A: we don't but we make it easy to avoid them, by giving a good zoom,
|
|
|
|
flexible selection, and by disallowing stacks of identical objects in the
|
|
|
|
first place.
|
|
|
|
- Q: add frame arguments ? (e.g., .frame pad(pin_num_offset) ...)
|
|
|
|
we can already approximate this by introducing an intermediate table that
|
|
|
|
sets up the arguments (provided that we don't consider vectors as well)
|
|
|
|
- Q: should we make it a requirement to generate objects only once ?
|
2009-08-19 17:38:59 +03:00
|
|
|
A: yes.
|
2009-08-03 19:12:47 +03:00
|
|
|
|
|
|
|
Future directions:
|
|
|
|
- future: consider using cairo instead of gdk
|
|
|
|
- live update of value when entering strings and expressions ?
|
|
|
|
- advanced: non-standard solder mask
|
|
|
|
- advanced: solder paste exceptions (subtractive, additive)
|
2009-08-19 17:38:59 +03:00
|
|
|
- advanced: holes
|
2009-08-03 19:12:47 +03:00
|
|
|
- advanced: silk line width
|
2009-08-19 17:38:59 +03:00
|
|
|
- future: consider editing non-canvas items (e.g., variable names/values) in
|
|
|
|
place
|