From d9b7ad94ecf04de048b9419735e9c33ccafb9c6f Mon Sep 17 00:00:00 2001 From: werner Date: Sat, 22 Aug 2009 22:55:39 +0000 Subject: [PATCH] - when displaying loop iterations, we now use the active count, not just the last count - loop iterations now show the actual value, not the zero-based iteration number - gui.html: added a GUI manual (in progress) git-svn-id: http://svn.openmoko.org/trunk/eda/fped@5531 99fdad57-331a-0410-800a-d7fa5415bdb3 --- Makefile | 13 ++- gui.html | 235 ++++++++++++++++++++++++++++++++++++++++++++ gui_frame.c | 2 +- obj.c | 17 +++- obj.h | 1 + screens/intro-1.png | Bin 0 -> 4561 bytes screens/intro-2.png | Bin 0 -> 4544 bytes screens/intro-3.png | Bin 0 -> 3700 bytes screens/intro-4.png | Bin 0 -> 461 bytes screens/intro-5.png | Bin 0 -> 1217 bytes screens/intro-6.png | Bin 0 -> 19348 bytes 11 files changed, 265 insertions(+), 3 deletions(-) create mode 100644 gui.html create mode 100644 screens/intro-1.png create mode 100644 screens/intro-2.png create mode 100644 screens/intro-3.png create mode 100644 screens/intro-4.png create mode 100644 screens/intro-5.png create mode 100644 screens/intro-6.png diff --git a/Makefile b/Makefile index 5e45d18..1e12ee1 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,8 @@ PREFIX = /usr/local +UPLOAD = werner@sita.openmoko.org:public_html/fped/ + OBJS = fped.o expr.o coord.o obj.o delete.o inst.o util.o error.o \ unparse.o file.o dump.o kicad.o postscript.o meas.o \ cpp.o lex.yy.o y.tab.o \ @@ -25,6 +27,8 @@ XPMS = point.xpm delete.xpm delete_off.xpm \ stuff.xpm stuff_off.xpm meas_off.xpm \ bright.xpm bright_off.xpm all.xpm all_off.xpm +PNGS = intro-1.png intro-2.png intro-3.png intro-4.png intro-5.png intro-6.png + SHELL = /bin/bash CFLAGS_GTK = `pkg-config --cflags gtk+-2.0` LIBS_GTK = `pkg-config --libs gtk+-2.0` @@ -71,7 +75,7 @@ endif # ----- Rules ----------------------------------------------------------------- -.PHONY: all dep depend clean install uninstall +.PHONY: all dep depend clean install uninstall upload-manual .SUFFIXES: .fig .xpm @@ -102,6 +106,13 @@ y.tab.o: y.tab.c gui_tool.o gui.o: $(XPMS:%=icons/%) +# ----- Upload the GUI manual ------------------------------------------------- + +upload-manual: $(XPMS:%=icons/%) + scp gui.html README $(UPLOAD)/ + scp $(XPMS:%=icons/%) $(UPLOAD)/icons/ + scp $(PNGS:%=screens/%) $(UPLOAD)/screens/ + # ----- Dependencies ---------------------------------------------------------- dep depend .depend: lex.yy.c y.tab.h y.tab.c diff --git a/gui.html b/gui.html new file mode 100644 index 0000000..5b044a0 --- /dev/null +++ b/gui.html @@ -0,0 +1,235 @@ + + +Fped GUI Manual + + +

Fped GUI Manual

+ +This manual introduces the basic concepts of Fped and explains the elements +of the graphical user interface. Please refer to the file +README for more +technical details and a discussion of the scripting language used by fped. + + +

Objects and instances

+ +Footprints tend to be highly repetitive, with many pads placed in a +simple geometrical pattern. With fped, the user specifies the elements +to repeat and the way they are repeated. Fped then generates the +repetitions automatically. +

+Here is a simple example: +

+The graphical items you have entered are a vector and a circle with the +radius determined by the vector. We call these items "objects". Furthermore, +you have defined a variable that gets set to the values from 1 to 5, in +increments of one. Fped had repeatedly drawn the objects for each such +value. We call the item that have been drawn "instances". +

+The innermost vector and circle are highlighted. You can highlight other +instances of the same objects by clicking on the numbers (1 2 3 4 5) shown +next to the loop. + + +

Frames

+ +Frames serve various purposes: +Variables + + +

Iconography

+ +The right-hand side of the fped window shows the component being drawn on a +black background. We call this the canvas. It is surrounded by a toolbar on +the right side and a few buttons with visibility options at the top. + + +

The canvas

+ + +

Blue screen

+ +When an expression uses an unknown variable or evaluates to an incorrect +value (e.g., a bare number where a dimension is expected), the +instantiation fails. Fped indicates this by changing the background color +of the canvas from black to blue. The cause of the failure is explained +in the status bar at the bottom. +

+In this state, the canvas is no longer updated when making changes until +the problem has been resolved. The most common causes are a misspelt +variable name in an expression, the use of a number without unit where a +dimension is expected, or the removal of a variable that's still used +somewhere. +

+If the location of the error is not obvious, the list of objects can be +shown by selecting "Swap var&code" from the View menu. The object +in which the error occurred is shown in red. If the error occurred in a +loop variable, the variable name is shown in red. + + +

Visibility options

+ +When working on a complex component, the number of elements shown can be +overwhelming. The visibility options help to quickly hide irrelevant +details and get one's bearings. They are located in the menu bar at the +top. +
+
  +
Show all frames. If disabled, only show the currently active frame. +
  +
Show vectors and frames. +
  +
Show measurements. +
  +
Highlight the elements that will be exported to KiCad, i.e., + the pads and the silk screen drawings. To show the component + exactly as it will appear in KiCad, also turn off vectors, + frames, and measurements. +
+The visibility options can be combined. + + +

Tools

+ +Tools are used to add new elements and to manipulate existing ones. +
+
+
The pointer. This is the default tool. The pointer is used to + select items and do move points of the selected item. +

+ To move points, select the item, then move the mouse pointer over + the point to move. A red circle will appear under the mouse pointer. + Then drag the point to its new location and release the mouse button. +

  +
Delete the currently selected item. Whenever an item is selected, + the delete icon lights up. Clicking the icon deletes the item. + To undelete the item, press U. +
+
Add a vector. To add a new vector, move the mouse pointer to the + new vector's starting point then drag towards the desired end point. + Vectors are normally specified via parameters. To enter the parameters, + click on the new vector. +

+ Note that the starting point of the vector has to be in the same + frame as the vector being drawn. This limitation also applies to + points defining pads and silk-screen items. +

  +   +
Add a frame reference. A frame reference inserts the content of a + frame into another frame. There are three steps in this process: +
    +
  • Select the frame to be inserted and click on the frame icon. + A large black dot appears in the icon to indicate that a frame + reference has been chosen. +
  • Select the frame into which to insert the reference. The dot + changes to green to indicate that the reference can now be placed. + If the dot stays black, then the selected frame is not a valid + destination, i.e., because the reference in turn references this + frame. +
  • Click on the location at which to attach the reference. This + location can be either the end of a vector or the frame's origin. +
+ When finished, don't forget that the destination frame is still selected. + In order to add elements to the newly referenced frame, you have to + select it first. +
  +
Add a pad. Pads are either rectangular or rounded. They are + defined by two points which are opposite corners of the rectangle + containing the pad. Move the mouse cursor to the first point, then + drag to the second point. The pad's name can be edited after selecting + the pad. +
  +
Add a line or a rectangle. Similar to pads, lines and rectangles + are defined by two points. The width of the line can be edited after + selecting the line or rectangle. +
+
Add circle or arc. Circles are defined by their center end a + point at their radius. An arc has a third point, which defines the + angle at which the arc ends. If this third point is not located on + the radius, the arc ends where an imaginary line between the center + and the end point would intersect with the radius. +

+ An arc is made by first drawing a circle with the radius point at + the location where the arc should start. Then click and hold the + radius point to drag the end point to the desired location. +

+ To change the radius point of a circle, first drag the end point, + then drag the radius point itself to that same location. +

   + +
Add a measurement. Measurements show the distance between points. + They can either measure diagonally or only horizontally or only vertically. + Unlike other items, measurements are not limited to points in the same + frame. Instead, they operate on the minimum, maximum, and next greater + coordinates of instances of objects. +

+ A measurement is added as follows: +

    +
  • Click on one of the three measurement icons to select the + measurement type. All possible endpoints are highlighted. +
  • Drag from the desired starting point. Now all the endpoints + available for this starting point are highlighted. +
  • Drag to the endpoint and release the mouse button. The measurement + will now appear as a double-headed arrow and text between the two + points (if this is a diagonal measurement) or extending vertically or + horizontally from one of the two points. +
  • To move the measurement arrow away from the two points, select + the measurement and set an offset. +
+ Sometimes, the second point becomes unavailable after selecting the + first point. This means that the two points are not a minimum or maximum, + or a minimum and the next greater neighbour. In this case, just try + another pair of points measuring the same distance. +
+ + +

Keyboard shortcuts

+ + + diff --git a/gui_frame.c b/gui_frame.c index a8a6d1d..3c841d3 100644 --- a/gui_frame.c +++ b/gui_frame.c @@ -1013,7 +1013,7 @@ static void build_loop(GtkWidget *vbox, struct frame *frame, for (i = 0; i != loop->iterations; i++) { label = add_activator(hbox, loop->active == i, - loop_select_event, loop, "%d", i); + loop_select_event, loop, "%g", loop->n+i); gtk_object_set_data(GTK_OBJECT(box_of_label(label)), "value", (gpointer) (long) i); diff --git a/obj.c b/obj.c index 3042ef3..3fa66b1 100644 --- a/obj.c +++ b/obj.c @@ -238,7 +238,10 @@ static int run_loops(struct frame *frame, struct loop *loop, n++; } loop->initialized = 0; - loop->iterations = n; + if (active) { + loop->n = from.n; + loop->iterations = n; + } return 1; fail: @@ -279,6 +282,17 @@ static int generate_frame(struct frame *frame, struct coord base, } +static void reset_all_loops(void) +{ + const struct frame *frame; + struct loop *loop; + + for (frame = frames; frame; frame = frame->next) + for (loop = frame->loops; loop; loop = loop->next) + loop->iterations = 0; +} + + int instantiate(void) { struct coord zero = { 0, 0 }; @@ -287,6 +301,7 @@ int instantiate(void) meas_start(); inst_start(); instantiation_error = NULL; + reset_all_loops(); ok = generate_frame(root_frame, zero, NULL, NULL, 1); if (ok) ok = instantiate_meas(); diff --git a/obj.h b/obj.h index 4bb4804..164a696 100644 --- a/obj.h +++ b/obj.h @@ -79,6 +79,7 @@ struct loop { /* GUI use */ int active; /* n-th iteration is active, 0 based */ + double n; /* start value when it was active */ int iterations; /* iterations when it was active */ /* for evaluation */ diff --git a/screens/intro-1.png b/screens/intro-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d3edfcaa8d4d7672c057827a964fd3edc37012e6 GIT binary patch literal 4561 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 VIbwA98QOjez}Nr^snEX}^)GWEvKIgV literal 0 HcmV?d00001 diff --git a/screens/intro-2.png b/screens/intro-2.png new file mode 100644 index 0000000000000000000000000000000000000000..842e887d6e738886c8a6a76dc8ac49f38684d613 GIT binary patch literal 4544 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 V%z3Olb+a`{+SAp~Wt~$(698h!zjy!u literal 0 HcmV?d00001 diff --git a/screens/intro-5.png b/screens/intro-5.png new file mode 100644 index 0000000000000000000000000000000000000000..01bcc97f3f9cec32a1bc570327c02f600248a426 GIT binary patch literal 1217 zcmYk6X;4#F9K|1-pn)lifvBJXMS)1riZO~7vB|J%5J}TuplW3^5`05wkZocRNCMPW z_GKicwble5HW|v3NYX-38!Lq(d#Ly{3Ibu+L|IH+M<%{7h0ALvuN(qY27@i(|l7d9y^3Oi=vWi&$ z{hT7CMq(M}>DFz@wD&mK&K+ZB96dmKaQ;*BlA@l$u{dbPK9@= z)OdM-ei8b4$9*_Yaex;%&sTXdbdbh3XH)S%ohiva{8_i$DRWBL?It@5y?CUr1!6CI z6u=AAGa&8F-F!l}e!xk>@~X z89b!0j*4B%!ouM?pH?NF6T-_UfQee zZ^kG;gKLc+GF3++&)IS6`?P*rx}qMAM*q?*>yux;%Yv3;{%DA1UwfFY4y>fTHU^ZI z)81-_dd7tQTg&Pj1K~ME2XhyT(PX{l3;JSaM&u54g-j~VZK{x!rqWjiXYT3!J`59R z%IQ}hX5W+RnwuyK*u1he*;7f1F4pys;aUDIuIsRK=e8*oukW0!J&901Rj$y>*W$j5 z3iH;Viuu*Qkknn>G|RXV^Yze#W_l<4s^Z?{#m%zGL&lo?2czxkj34~!w1L}6?b^Zu zMOk$WuS-y#vz0eHGo4vpK1;T+O~gY2Q~%fEbON}`kq-l4NxZ2ayV0V=SIJ?d0!ExQZhJY* za2DSb_m?^hM65%6*5je;{ABUSGTqUh(QF0MPovg(oXhU?1(_H`?yQOTMcW*sajI+< z?jo{#5RzElNX3Cxz6jl_-{VU}YAxIaNvL~JA`pc$EuAXmHaj^>E}?F=WdzQWAywOu z1X6dm3$x~W_m@#c$lIKa#Z7PnY+P~@o~Kr6JPEl+S;Ov@s=-a@l`-}%A1j_{B6#A@ akGA!WMRHeJIydxx0Ya%KDA2Jpg8u;F+(Wql literal 0 HcmV?d00001 diff --git a/screens/intro-6.png b/screens/intro-6.png new file mode 100644 index 0000000000000000000000000000000000000000..20c8e31a18b3695057a23f14fa2b60024731076e GIT binary patch literal 19348 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