Re: gEDA-user: solder/component -- top/bottom ?

2011-09-18 Thread Andrew Poelstra
On Mon, Sep 19, 2011 at 01:24:51AM +0200, Kai-Martin Knaak wrote:
 Just got fooled by the classic solder/component vs top/bottom, again. 
 It just won't stick with me, that solder is supposed to be a synonym
 to top. I addressed the issue before about a year ago:
 http://thread.gmane.org/gmane.comp.cad.geda.user/31354/focus=31356
 Consensus seemed to be that top/bottom is the way to go. Since then, 
 the naming scheme of gerber export was changed accordingly. Same with 
 the default layer names of a new layout. But the rest of the code and
 the docs is still working with solder/component. On some occasions, it
 is even back/front side.
 
 I'd be motivated to prepare a series of patches to get away with 
 solder/component once and for all. Would be a bit of work, though.
 So I'll ask before I spend hunting them down: Would such a patch
 get applied (provided, it is well formed and all)? 


I'd vote for this.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: solder/component -- top/bottom ?

2011-09-18 Thread Andrew Poelstra
On Sun, Sep 18, 2011 at 08:47:36PM -0400, DJ Delorie wrote:
 
  Still unhappy with moderation of geda-user. 
  Why? Because it is completely intransparent.
 
 Please do not mix your political agenda with technical questions.


In Kai's defense, his message was in his signature, which
is clearly separated from the message and not even shown in
many readers. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New gtk menu system

2011-09-15 Thread Andrew Poelstra
On Fri, Sep 16, 2011 at 02:29:04AM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  Here is some visual feedback. It brightens the swatches when
  the mouse is over the row, a little bit. Let me know what you
  think of it.
  
 This feedback is in git-head now. However, it is a very subtle effect. 
 Much too suptle for my taste. I can hardly tell the difference, if the 
 mouse is at rest. Compare this to the strong optical feeedback the 
 traditional layer buttons provided: A frame colored in GTKs select 
 color combined with an inverted font color. You can easily spot the 
 button, the mouse is over, even on a blackwhite screenshot.


Why do you want this feedback? The highlighting is meant to give a
tactile feel to the layer selector, nothing more. Pcb doesn't care
what layer the mouse is over. The user shouldn't care what layer
the mouse is over.

Screenshots usually don't even have a cursor in them. Having one
layer with a bigger swatch would then be completely meaningless,
and confusing.

The old highlight mode was awful. If the layer was visible, it
would simply change the text color to black (making it hard to
read over the colors, which by default are almost all dark).
(The default gtk button prelighting is even less visible than
my layer swatch business -- look at the Route Styles button.)

If the layer wasn't visible, there was no indication on the
button what color it was. If you then hovered over it, the color
would re-appear, making it impossible to tell whether or not the
layer was visible!
 
 IMHO, an increase in size would work better - Much like many desktop 
 manager do, when they prelight icons on mouse-over. Best would be 
 a changed background. (Did I understand you correctly, that this can't 
 be done easily with the chosen widget?)
 

Correct. We are using a treeview widget, which is essentially
a select-box. I have never seen a select box with prelighting
like you suggest, and evidently neither have the gtk folks.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB segfaults when the Route style button is clicked

2011-09-11 Thread Andrew Poelstra
On Sun, Sep 11, 2011 at 04:53:08AM +0200, Kai-Martin Knaak wrote:
 Ivan Stankovic wrote:
 
  I'm using PCB from git master (9dde48253c..) and it segfaults
  when the Route Styles button is clicked. Here's how to reproduce:
  
  1. use PCB to make an empty pcb file
  2. start PCB again and load the empty file with File - Load layout
  3. choose Power route style, then click on the Route Styles
  button
 to bring up the dialog; close the dialog
  4. choose Signal route style, then click on the Route Styles
  button
 to bring up the dialog; close the dialog
  5. repeat steps 3 and 4 in order, until PCB segfaults
 
 I can confirm. Current git head PCB segfaults on me, too. Sometimes
 on first iteration, sometimes later. Interestingly, it does not
 want to segfault if I do not load the previously saved empty 
 layout. At step 3 I notice a difference: With the reloaded layout,
 the field for the route style name is empty. Maybe, this is a hint
 for the cause. 


Should be fixed in git head (c62863b2) now. Thanks for noticing
this, guys -- this was a serious memory corruption issue.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: why some skip KiCAD and gEDA

2011-09-10 Thread Andrew Poelstra
On Sat, Sep 10, 2011 at 04:20:27PM -0700, Jared Casper wrote:
 On Sat, Sep 10, 2011 at 4:12 PM, Markus Hitter m...@jump-ing.de wrote:
  Using a keyboard to do
  anything but writing text is a thing of the past, to start with.
 
 
 I couldn't disagree more.  I only want to use the mouse for things
 that absolutely require a mouse (drawing things mostly).  If I have to
 use the mouse to click buttons or menus, etc. I consider that a
 complete failure.


I don't even have a mouse connected most of the time. I plug one
in when I need to draw, that's it.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB segfaults when the Route style button is clicked

2011-09-10 Thread Andrew Poelstra
On Sun, Sep 11, 2011 at 04:53:08AM +0200, Kai-Martin Knaak wrote:
 Ivan Stankovic wrote:
 
  I'm using PCB from git master (9dde48253c..) and it segfaults
  when the Route Styles button is clicked. Here's how to reproduce:
  
  1. use PCB to make an empty pcb file
  2. start PCB again and load the empty file with File - Load layout
  3. choose Power route style, then click on the Route Styles
  button
 to bring up the dialog; close the dialog
  4. choose Signal route style, then click on the Route Styles
  button
 to bring up the dialog; close the dialog
  5. repeat steps 3 and 4 in order, until PCB segfaults
 
 I can confirm. Current git head PCB segfaults on me, too. Sometimes
 on first iteration, sometimes later. Interestingly, it does not
 want to segfault if I do not load the previously saved empty 
 layout. At step 3 I notice a difference: With the reloaded layout,
 the field for the route style name is empty. Maybe, this is a hint
 for the cause. 


Neat, confirmed. Notice also that the values become increasingly
corrupted with each load.

I'm guessing that in the RouteStylesChanged action, I should just
tear down and re-create the route style selector. The selector
has a pointer into pcb's route style data, which probably gets
freed when a new board is loaded.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: accel keys (was: why some skip KiCAD and gEDA)

2011-09-08 Thread Andrew Poelstra

There are some standard shortcuts that both gschem and pcb should
be using by default:

  New Ctrl+N
  QuitCtrl+Q
  OpenCtrl+O
  SaveCtrl+S
  Save as Shift+Ctrl+S
  UndoCtrl+Z
  RedoShift+Ctrl+Z
  Select all  Ctrl+A
  Select none Shift+Ctrl+A
  HelpF1

There should really be no controversy on this. Maybe we should
ship a vi keys keymap for people who want u for undo, etc.

For single-key bindings, it would then make sense to use (I'm
thinking of pcb here):

  F2-F10 open window (DRC, library, message log, netlist,
  route style editor, layer editor, etc)
  F11fullscreen?
  F12text editor?
  Page upnext layer
  Page down  prev layer
  Ctrl+PgUp  next route style
  Ctrl+PgDn  prev route style
  v  via
  l  line
  L  lock tool
  a  arc
  r  rectangle
  R  rotate tool
  t  text
  T  thermal
  h  hole
  p  polygon
  x  delete tool
  Escarrow tool
.
.
.
   etc

I'm not sure how well this integrates with Kai's list of gschem/pcb
correspondences. IMHO we should try to use single-key mappings
everywhere, in both tools. As somebody mentioned, there are roughly
40 of them, which is more than enough for common tasks.


We shouldn't have shortcuts for things like clear undo buffer.
Why is this even a menu option?


On a qwerty keyboard, Ctrl+[zxcva] can all easily be done with
one hand. (On dvorak this is not the case, but those users are
usually more comfortable remapping their keyboard shortcuts.)

The other shortcuts are not common commands, so optimizing them
for one-hand usage doesn't justify the loss in discoverability,
IMO.

***

In pcb it would be very easy to ship the new keymaps alongside
the old ones, and add a Classic shortcuts option to the
preferences dialog. I'm not sure how easy it would be in gschem,
since the keymap could be mixed in with other scheme code.

The existing keymap, especially when combined with the old pcb
layer selector, gives the impression of an ancient and non-standard
UI.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: plugins (was: How can you help...)

2011-09-07 Thread Andrew Poelstra
On Wed, Sep 07, 2011 at 10:51:31PM +0200, Kai-Martin Knaak wrote:
 Dan Roganti wrote:
 
  I'll be glad to help anyone in this development group with this
  documentation work.
 
 I am close to start off a gEDA wikibook (http://en.wikibooks.org). 
 Would you join the effort?


I'd be happy to contribute when I have free time (or am
procrastinating). 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: test repo

2011-09-04 Thread Andrew Poelstra
On Mon, Sep 05, 2011 at 03:21:25AM +0200, Kai-Martin Knaak wrote:
 Proposal to tone down the impact of patches breaking important features:
 
Add a branch test to git. This branch would work pretty much like 
sid/unstable repo of debian. It would receive all the new stuff so 
advanced users like me can give them a test run. 
If a patch stands the test by same time, it will be applied to git-head.


My thoughts on this:

This sounds like a good idea, but depends on developer availability
(who will move features from testing to master?), and would probably
end up being of limited usefulness.

My mil-to-nm changes and Peter C's rendering/cleanup changes have both
been so intrusive that any minor changes applied after-the-fact, would
simply not apply without those changes. So they would be stuck in testing
for as long as mil-to-nm is. (To see this, run

  git diff 4d239d98 master --stat

which gives

  252 files changed, 25069 insertions(+), 13260 deletions(-)

!)

In the case of my metric changes, it might have been smart to tag
a revision before the crazy changes, so that you would have something
to compile without the breakage. As it stands, the actual conversion
(i.e., the hardcoded-constant changes) should all be in commit
97b3260ec.

So you might want to just checkout your own branch with this reverted,
and rebase any new changes against that:

  git checkout -b kai_no_metric
  git revert 97b3260ec

Then to update:

  git pull origin master
  git rebase master

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb gtk: Toggle buttons for route styles?

2011-09-02 Thread Andrew Poelstra
On Fri, Sep 02, 2011 at 03:02:51AM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  Can we use toggle buttons instead of radio buttons for the
  route style selector? It would look like so:
  
  http://wpsoftware.net/andrew/dump/toggle.png
  
  This gives more clickable area and a cleaner look, I think.
 
 The look is still inconsistent. The buttons are centered. By
 contrast, the tool box and the layer lines are flush-left.
 
 
 I'd prefer a more radical change:
 
 1) Make the route styles as user configurable as the layers. That
 is, allow to add odr delete styles, change the order they appear 
 in the GUI, 


Nope, core changes required. I can allow the addition of arbitrarily
many temporary layers (and I plan to), but that's pretty much the extent
of what I can do without making serious changes.
 
 2) Attach accel-keys to route styles. I know, we are running out 
 of accels. But this is an important omission in the current GUI. 
 Changing route styles is a very frequent action while manual 
 routing. How about [ctrl-F1], ... [ctrl-F12]?


Sure. Unless someone has a better idea, I'll go with these.
 
 3) Add a little preview to the left of the route style name, that
 indicates the width of the tracks. Actual width in the preview may 
 be calculated relative to the other route styles. 
 

I considered this, but route styles control more than just line
size, and I don't think relative to the other route styles would
be very useful.

 4) Get rid of the Route Style button. Its meaning depends on
 the currently selected route style. This is very non-standard and 
 newbie unfriendly. 

Here is my proposal: add an 's' to Route Style and have it load
this dialog:

http://wpsoftware.net/andrew/dump/styles-dialog.png

 Proposal: Move its function to right-mouse click on every style button. 
 Ideally, this would be complimented by a config page in prefernces in 
 case a user can't do right-clicks (e.g. mac users). This would also be 
 the place to change order config accel keys or add more route styles.
 Side effect: More space in the right sidebar :-)
 
 To fully implement these proposals, changes in the internals of pcb
 are required. But at least, a GUI-only redesign should not conflict
 such ideas.

 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Fwd: Re: [OH Updates] How can you help solve the proprietary tool problem?

2011-09-02 Thread Andrew Poelstra
On Fri, Sep 02, 2011 at 03:45:57PM -0400, Bob Paddock wrote:
  Just for the record, I'm not sure what our moderation policy is. Are any
  of your posts being rejected by moderation? (If so - just what kind of
  emails are you sending? ;)).
 
 One of the things that changed when the list went moderated, is that I
 no longer see my own posts, so I really never know if the reached the
 list.  Before moderation I'd see my own posts.  I assume this applies
 to everyone, or at least everyone using gmail maybe?


I see it sometimes, but with other people's messages as often as mine.
For example, Peter C. recently replied to a message from Stephan. I
received Peter's reply but not Stephan's message.

My school's mailserver has its own host of problems I think are
contributing to this.

Often I'll just open the archive page and hit refresh periodically,
since that seems more reliable.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Fwd: Re: [OH Updates] How can you help solve the proprietary tool problem?

2011-09-02 Thread Andrew Poelstra
On Fri, Sep 02, 2011 at 01:10:10PM -0700, Andrew Poelstra wrote:
 
 I see it sometimes, but with other people's messages as often as mine.
 For example, Peter C. recently replied to a message from Stephan. I
 received Peter's reply but not Stephan's message.

I meant to say 'Stefan Salewski' here. I apologize for the misspelling.

(Note: I did recieve -this- message of my own.)

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: pcb gtk: Toggle buttons for route styles?

2011-09-01 Thread Andrew Poelstra

Hey all,

Can we use toggle buttons instead of radio buttons for the
route style selector? It would look like so:

http://wpsoftware.net/andrew/dump/toggle.png

This gives more clickable area and a cleaner look, I think.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb gtk: Toggle buttons for route styles?

2011-09-01 Thread Andrew Poelstra
On Fri, Sep 02, 2011 at 02:32:44AM +0100, Peter Clifton wrote:
 
 I don't know, but my personal feeling is that toggle buttons are a PITA,
 and they don't look that natural in this application. Pretty much for
 the same reason as we didn't like them in the layer selector - which
 you've just done a great job of re-writing ;).
 
 Perhaps I'm just used to the old way, so am resistant to change.


My true motivation here is that gtk 2's radio button handling is crap.
I would like to use GtkRadioAction to handle the just-one-thing-selected
logic, but I can't link radio buttons to radio actions. In fact, I
can't really link radio buttons to anything.

As it happens, the toggle buttons work fine in this respect.

From a UI perspective, I prefer the radio buttons. But I figured I'd
cheat and try to get popular support for the easy thing, first. Looks
like that's not gonna happen. Oh well.
 
 Throwing out a crazy idea.. in word-processors etc.., styles are found
 in a drop-down combo-box. I know that doesn't fit so well with where we
 have space for the route-style selector, but just a crazy though.
 

One day, when we support an unlimited number of route styles. ;)

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: gpcb-menu.res

2011-08-31 Thread Andrew Poelstra
On Wed, Aug 31, 2011 at 02:00:37PM +0200, Kovacs Levente wrote:
 On Tue, 30 Aug 2011 12:01:00 -0700
 Andrew Poelstra as...@sfu.ca wrote:
 
  Fixed in git head.
 
 Thanks! Maybe I can see why the automatic layer (group) change doesn't work.
 Can you give me any clue where it is located in the code?


In the toggle callback, I call ChangeGroupVisibility,
which changes the core state, but there is no function
that resyncs the selector state with the core state.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New gtk menu system

2011-08-31 Thread Andrew Poelstra
On Wed, Aug 31, 2011 at 01:12:13AM +0200, Kai-Martin Knaak wrote:
 Two more issues:
 
 * A left-mouse-click on the square toggles the visibility of the 
 whole layer group on the canvas. But it toggles only the visual state 
 of this layer, not the state of the squares that correspond to the 
 other layers in the group. As a result, the state of the squaere 
 is not necessarily in unison with the visibility of the layers on 
 the canvas.
 
 * Load of a colour theme does not immediately update the colours.  
 The layers in the layout receive the new colours only, after their
 visibilty is toggled. The squares in the layer selector only receive
 the new colours after restart of the application. 


Both fixed in git head. I also explicily sync the layer selector
to pcb's internal state in the LayersChanged() action handler, so
they should not be able to get out of sync anymore. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New gtk menu system

2011-08-31 Thread Andrew Poelstra
On Tue, Aug 30, 2011 at 03:47:33PM -0700, Colin D Bennett wrote:
 On Tue, 30 Aug 2011 14:22:28 -0700
 Andrew Poelstra as...@sfu.ca wrote:
  Here is some visual feedback. It brightens the swatches when
  the mouse is over the row, a little bit. Let me know what you
  think of it.
 
 I didn't try it yet, but will it work for layers with the following
 colors:
 
 - white layers (e.g., silk) or black layers?
 
 - layers with colors like red, green, blue, yellow, cyan, etc. where
   all of R,G,B are either 0.0 or 1.0 (normalized scale)?


White layers, no. Everything else, yes.
 
 A more general solution, and one that won't affect the accurate
 representation of the layer color by the swatch, is to draw a 1 or 2
 pixel wide border around the swatch when the mouse hovers over that
 layer button.


I tried this at home. It seemed to draw too much attention to the
swatch, and indicate toggle me! rather than prelight. IMHO, if
we do anything to indicate prelighting, it should be (at least) as
subtle as my color change.

And I am not entirely sold that we should be doing anything.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net

Do whatever you want. Do what you think is important.
 Everybody is an individual.  --Ron Paul



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: gpcb-menu.res

2011-08-30 Thread Andrew Poelstra
On Tue, Aug 30, 2011 at 08:51:42AM +0200, Levente Kovacs wrote:
 I noticed that recent PCB doesn't interpret my gpcb-menu.res file located in
 ~/.pcb.
 
 Instead it writes the following line to the standard output/error:
 
 @�: No such file or directory
 
 and the following line to the log window:
 
 Note:  home directory is /home/leva
 Loading menus from Loading menus from 
 Using default menus


Fixed in git head.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Tearoffs on popup menu in pcb?

2011-08-30 Thread Andrew Poelstra
On Tue, Aug 30, 2011 at 02:58:08AM +0200, Kai-Martin Knaak wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 DJ Delorie wrote:
 
  I.e. if you right-click on an element, you should get a menu specific
  to that element, like select to select *that* element, rotate to
  rotate *that* element, etc.  Such an operation makes no sense if the
  popup is torn off and placed elsewhere.
 
 Currently, only one out of five first level items is context sensitive
 the way you say (Operations on this location). The rest is actions that
 do not refer to the position of the mouse cursor (Operations on selections,
 Undo last operation, Redo last operation, Tools).
 Unless I missed something, the Operations on this location contains 
 just a single item: Generate object report 
 
 If the menu is ripped off, Generate object report might ask the user 
 to click somewhere on the canvas. This what Cut selection to buffer 
 does, when chosen from the regular menu.
 
 BTW: What are Tools-None and Tools-Cancel supposed to do?


None appears to do nothing at all - it is used internally to
when preventing selection of invalid modes. Cancel is a synonym
for Select that was used to hook the escape key up, since all
accelerators are configured through the menu system.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New gtk menu system

2011-08-30 Thread Andrew Poelstra
On Tue, Aug 30, 2011 at 06:51:10PM +0200, Kai-Martin Knaak wrote:
 Forget about my last message on the X-windows error. (*) I just rebooted and
 pcb runs fine now. Must have been some funky mix of recent updates in the 
 X-windows libs on my system.


Oh, thank goodness!
 
 The new layer selector is beautiful!
 I like the way the suares indicate laxyer visibility. The fact 
 
 Some glitches:
 I don't see any visual feedback which item the mouse cursor currently refers 
 to.
 Gnome user expectation seems to be, that the item should be highlighted with 
 background changing to focus color. Much the same way that the items in a 
 menu 
 highlight on mouse-over. Currently, I get focus color only after I clicked a
 layer.


Hmm. This is the default behavior of the treeview widget, and Gtk
deliberately makes style decisions very hard to override, since
people all have different themes and it's best to let them choose.

One close thing I could do is set the hover-selection property,
which would actually select the item the mouse is on. This would
be a nightmare, I imagine, for people who bat their mice haphazardly
to the left to get their cursor out of the way.


Another, more sensible thing I can do is to change the rendering
of the color swatch when the mouse is on the row. Can you think
of a good highlighted cue that only affects the swatch?


 Layers can be selected  with middle mouse button, too. Is this deliberate?
 The old layer chooser did not respond to middle mouse button click at all. 
 IMHO, middle mouse should stay reserved for some funky functions yet to be 
 designed (e.g. make the layer temporarily visible while the button is pressed)
 

Ditto -- this is the default behavior of the treeview. I'm catching
mouse clicks anyway so that visibility works without selecting each
row, so it wouldn't be hard to throw away non-left-clicks.

I think I'll do this - right-clicking also selects the row, which
will probably irritate people expecting a popup menu. Best to make
selection a left-click-only action.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New gtk menu system

2011-08-30 Thread Andrew Poelstra
On Tue, Aug 30, 2011 at 07:04:51PM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  User-visible changes are:
 
 Another minor wish: 
 Can you change the background of the layer chooser to the background 
 color gtk uses for the rest of the controls? (menu, status line, mm/mil 
 button, route styles) 
 Currently, it seems to be the background of input items. But of course, 
 you can't input anything there. 


It's the background of select boxes, which it is. I think changing
the background tone would send a different message. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: timestamps in pcb.git

2011-08-29 Thread Andrew Poelstra
On Mon, Aug 29, 2011 at 08:37:30AM +0200, Kovacs Levente wrote:
 I've just downloaded a snapshoot from
 
 http://git.gpleda.org/?p=pcb.git;a=summary
 
 and it created files with timestpamps in the future.
 
 The make tool is now confused and ends up in an endless loop.
 
 make: Warning: File `Makefile.am' has modification time 2.2e+04 s in the 
 future
 
 -rw-r--r--  1 leva leva706 2011-08-29 14:43 Makefile.am
 
 I think I shell wailt till 14:43.


Oops! This is my fault.

My dev server clock seems to have found its way out of sync. This
happens every so often, because of some oddity with Xen and timezones.
Perhaps setting the root and virtual domains to UTC will fix it;
I'll try this now.

Waiting a few hours will fix the build failure. I'll be sure to keep
an eye out for this when pushing commits in the future.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: timestamps in pcb.git

2011-08-29 Thread Andrew Poelstra
On Mon, Aug 29, 2011 at 08:58:44AM +0200, Kovacs Levente wrote:
 On Mon, 29 Aug 2011 07:09:21 -0700
 Andrew Poelstra as...@sfu.ca wrote:
 
  My dev server clock seems to have found its way out of sync. This
  happens every so often, because of some oddity with Xen and timezones.
  Perhaps setting the root and virtual domains to UTC will fix it;
  I'll try this now.
  
  Waiting a few hours will fix the build failure. I'll be sure to keep
  an eye out for this when pushing commits in the future.
 
 OK.
 
 So which is the latest commit?
 

Looks like 728f3502. The timestamps shown by git are only for
human use; they often end up out of order when one dev pushes
old commits from his machine after another pushs recent ones.

The actual ordering is done by the hash chain, and this can't
get corrupted.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: timestamps in pcb.git

2011-08-29 Thread Andrew Poelstra
On Mon, Aug 29, 2011 at 08:37:30AM +0200, Kovacs Levente wrote:
 I've just downloaded a snapshoot from
 
 http://git.gpleda.org/?p=pcb.git;a=summary
 
 and it created files with timestpamps in the future.
 
 The make tool is now confused and ends up in an endless loop.
 
 make: Warning: File `Makefile.am' has modification time 2.2e+04 s in the 
 future
 
 -rw-r--r--  1 leva leva706 2011-08-29 14:43 Makefile.am
 
 I think I shell wailt till 14:43.


If you run

  touch `find`

This will reset the timestamps on everything to your current
time. make will take a while to run, since it will then believe
everything has changed, but it won't get stuck anywhere.

Other than that, nothing will be broken or confused.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: layer selector inconsistency (was: timestamps in pcb.git)

2011-08-29 Thread Andrew Poelstra
On Mon, Aug 29, 2011 at 09:28:36AM +0200, Kovacs Levente wrote:
 
 Ok. Thanks.
 
 I found that layer selection and toggle doesn't work as it was. I have to
 click 3 times (or something) to have the layer switched on or off. First click
 often moves the highlighted area to another line.
 
 Levente
 

Phew! Fixed in c81a96de.

The layer selector would change its state recursively -- toggle swatch then
checkbox then toggle swatch then ... -- though only two or three levels deep,
which is why I let it happen in the first place. Further, I was deleting
non-silk layers and reinserting them on every layer state change, further
confusing things. Somewhere in this mess of state changes, the layer selector
was becoming inconsistent with itself AND pcb, making it nearly useless.

There may still be trouble when adding or deleting layers. If you
see anything, please let me know, because it seems fine to me. But
I won't be able to fix it until the new menu widget is done.

Also, my system clock is correct. ;)


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: New gtk menu system

2011-08-29 Thread Andrew Poelstra

Hey all,

I have pushed the new menu system to git head. This lets the
new layer selector manage its own menu entries and accelerators.

Note that Edit-Route Styles is unpopulated. I will fix this in
the next day or two.

User-visible changes are:

  - the layer selector works! You can add/delete/rename layers
and the menu will adjust. The accelerators also work, and
remap automatically to handle new layers.

  - radio buttons are used instead of checkboxes for some things

  - tearoffs on the right-click menu


As a reminder, the layer keyboard accelerators are:

  1-9   Select layers 1-9
  0 Select layer 10
  Alt+1-9   Select layers 11-19
  Alt+0 Select layer 20

Adding Ctrl lets you toggle the visibility of those respective
layers. Remember that not all layers are selectable, but all of
them should be able toggle visibility.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Tearoffs on popup menu in pcb?

2011-08-28 Thread Andrew Poelstra

Hey all,

Right now in pcb if you shift-right-click on the main viewport,
you get a popup menu with a few submenus. There are no tearoffs.


Do you want tearoffs on the submenus of this popup?

What about on the popup itself?



Andrew


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Updating gtk menu dynamically?

2011-08-28 Thread Andrew Poelstra
On Sun, Aug 28, 2011 at 05:14:18AM +0200, Kai-Martin Knaak wrote:
  But getting the accelerators hooked up is proving to be a trial.
  GtkActionGroup apparently -only- works with GtkUIManager, so
  without it, setting up accelerators, their paths, their callbacks
  and their menu items is up to us.
 
 While at it, can you implement gnomes convenient on-the-fly user 
 modification of accel keys? (put the mouse on a menu item and type 
 whatever accel you want to assign)


Not while I'm at it, no. But it will certainly be possible once
I'm done with the widget, unlike the current situation.


Unfortunately, I'm rather time-constrained. For the next week I
can work on pcb 24/7, but after that my girlfriend comes back
from Calgary and school starts up again.

Basically, I want to get the new menu widget done (it's nearly
so -- everything works but the layer selector and route-style
menu items). After that the route-style selector will probably
need its own widget, but that's easy to do at this point.

Then, I'll just be doing bugfixes and code documentation, and
when school starts even that'll probably stop.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New layer selector to play with (git preview)

2011-08-26 Thread Andrew Poelstra
On Thu, Aug 25, 2011 at 11:43:41PM -0700, Jared Casper wrote:
 On Wed, Aug 24, 2011 at 3:21 AM, Andrew Poelstra as...@sfu.ca wrote:
 
  Hey all,
 
  The new gtk layer selector is finished for most uses now. If
  you want to play with it before it's ready to be published
  (which is a few days away still), you can get it here:
 
 
 Looks great! Just played around with it for a second and noticed a bug
 though, when you delete or otherwise change the layers in the PCB
 Preferences dialog (i.e. delete or move the currently selected layer,
 or add a new one) the layers are changed, but the widget isn't
 updated, even after the dialog is closed, leading to all kinds of
 confusion.


Fixed. The new behavior should now be the same as the old.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New layer selector to play with (git preview)

2011-08-25 Thread Andrew Poelstra
On Fri, Aug 26, 2011 at 06:28:09AM +0100, Peter Clifton wrote:
 
 A few nits when I tested it. (And not just looked at the screenshots)..
 
 1. PCB crashes immediately on startup for me:
 
 UPDATE COLORS
 
 Program received signal SIGSEGV, Segmentation fault.
 0x004d6883 in gtk_pcb_layer_selector_update_colors (ls=0x0,
 callback=0x4ca630 get_layer_color)
 at hid/gtk/gtk-pcb-layer-selector.c:694
 694 gtk_tree_model_get_iter_first (GTK_TREE_MODEL (ls-list_store),
 iter);


Cool. I have never seen this. I also don't get the UPDATE COLORS
text on startup. How have you configured your colors?
 
 2. It should not be printing debug text like UPDATE COLORS to the
 console ;)
 

Oops. But it seems to have helped here. ;)

 
 If I'm seeming brief, it might be because its now 6:30AM and I've not
 slept.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New layer selector to play with (git preview)

2011-08-25 Thread Andrew Poelstra
On Fri, Aug 26, 2011 at 06:28:09AM +0100, Peter Clifton wrote:
 
 A few nits when I tested it. (And not just looked at the screenshots)..
 
 1. PCB crashes immediately on startup for me:
 
 2. It should not be printing debug text like UPDATE COLORS to the
 console ;)


Both fixed and pushed. Thanks for noticing so quickly! 


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: howto pin size

2011-08-24 Thread Andrew Poelstra
On Wed, Aug 24, 2011 at 05:14:43AM -0500, kqt4a...@comcast.net wrote:
 $ pcb --version
 PCB version 1.99z
 
 $ git log -1
 commit 87572b48e0d58b8f69d4aece6e22c4a5d89a16c5
 Author: Andrew Poelstra as...@sfu.ca
 Date:   Mon Aug 22 17:10:23 2011 -0700
 
 Fix segfault in report.c text report output
 
 I have a component with a pin that info shows copper width = 72
 I want to set copper width to 70 so I go to
 File-Preferneces-Increments and set Size Increment/Decrement to 1
 and press OK
 Now put cursor over pin and press shift-s
 Info shows copper width = 67
 How do I increment/decrement size by smaller values



Richard, the Increments tab is completely non-functional right now.
If you would like to change copper width, click on the Route Style
button on the bottom-left of pcb, and manually enter the new
width.

 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: howto pin size

2011-08-24 Thread Andrew Poelstra
On Wed, Aug 24, 2011 at 04:31:23PM +0200, Kai-Martin Knaak wrote:
 kqt4a...@comcast.net wrote:
 
  I have a component with a pin that info shows copper width = 72
  I want to set copper width to 70 so I go to File-Preferneces-Increments 
  and set Size Increment/Decrement to 1 and press OK

 
 This feature is currently broken (and has been for quite some time)
 
 There is a bug report in the tracker. It contains a patch from spring 2009, 
 that has been bit-rotten, rebased in autumn 2010 and probably needs some 
 love again, if it is to apply to cuurent head. 
   https://bugs.launchpad.net/pcb/+bug/699464


There is no way that patch will apply. I have fundamentally
changed the way that increments are managed in pcb -- the old
code had separate cases for mm and mils, but we no longer
give special treatment to those units.

The old code also let you change the increments for mm, and
not affect the increments for mil. Given that we now support
a dozen or so different units, this is clearly impractical.

So some design work (i.e., discussion) needs to happen before
I can fix the UI.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: New layer selector to play with (git preview)

2011-08-23 Thread Andrew Poelstra

Hey all,

The new gtk layer selector is finished for most uses now. If
you want to play with it before it's ready to be published
(which is a few days away still), you can get it here:

  git://wpsoftware.net/pcb-andrew.git

branch: layersel


TODO:
  - can't change colors
  - I'd like to add a context menu for changing colors,
hide all but this layer, show all, and whatever
else you guys think of.

I don't plan to add a hide all button. I also don't
plan to allow saving/stacking of visibility settings,
though I'd like to do that some day.


KNOWN BUGS:
  - select silk, rats, or the last copper layer, then
toggle its visibility. It won't automatically switch
away.

Note that this bug also affects the existing layer
selector.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb segmentation fault

2011-08-22 Thread Andrew Poelstra
On Mon, Aug 22, 2011 at 08:45:22AM -0500, kqt4a...@comcast.net wrote:
 $ git log -1
 commit eaf012c425a5adc9a31d857d3aa9e906d844c97f
 Author: Peter Clifton pc...@cam.ac.uk
 Date:   Mon Aug 8 23:13:02 2011 +0100
 
 hid/gtk: Clean up ghid_pan_fixup ()


I have just fixed it in:

commit 87572b48e0d58b8f69d4aece6e22c4a5d89a16c5
Author: Andrew Poelstra as...@sfu.ca
Date:   Mon Aug 22 17:10:23 2011 -0700

Fix segfault in report.c text report output


Please run 'git pull' to bring all the changes down. (Note
aware that you will also pull the recent metric conversion
changes down, which have been published between now and Aug
8.)

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB+GL rebased to git HEAD (with nanometers) - bug with arcs?

2011-08-22 Thread Andrew Poelstra
On Mon, Aug 22, 2011 at 05:31:26PM -0700, Andrew Poelstra wrote:
 On Sat, Aug 20, 2011 at 01:57:08PM +0200, michalwd1979 wrote:
  Dear Peter,
  
  I'm using newest version of pcb opengl from git and I found strange 
  behaviour with arcs.
 
 
 This was caused by my commit:


Fixed by commit 7b590a61.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: viewing side vs. layers

2011-08-22 Thread Andrew Poelstra
On Mon, Aug 22, 2011 at 10:48:27PM +0200, Levente Kovacs wrote:
 The automatic layer change capability is missing from the current HEAD
 ( 7b590a617db3ca3ed69965b544f1468f82c39dfe ). I.e. when you swap viewing side
 with TAB.
 
 It works only once, then stops working.


What should be happening? I will make sure this works
when I implement my new gtk layer selector.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-22 Thread Andrew Poelstra
On Tue, Aug 23, 2011 at 09:33:28AM +1000, Stephen Ecob wrote:
  With this in mind, I have implemented the italicized/separated
  suggestion. You can see it here:
 
  http://www.wpsoftware.net/andrew/dump/mockup4.png
 
 404 error - did you get the URL wrong ?


Nope, uploaded it wrong :-}. The URL works now.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-22 Thread Andrew Poelstra
On Tue, Aug 23, 2011 at 09:52:19AM +1000, Stephen Ecob wrote:
 A few hours in the future, Andrew Poelstra as...@sfu.ca wrote:
 
  Nope, uploaded it wrong :-}. The URL works now.
 
 Looks good, a definite improvement on what we have now!
 
 This may be out of scope for the current work, but I have some related
 items on my PCB wish list:
 
 * Hide all layers button
 
 * Show all layers button


These would be easy enough to add to the widget. Just tack an
`All Layers' entry below the other non-selectable entries.

Whether there would be demand for this, I don't know. Would it
affect the pins, pads and via layers? Would it affect the solder
mask layer? Why would you want to hide everything?

I don't expect there would be enough of a consensus on these
questions.
 
 * Layer visibility memory - this would have a Store button and a
 Recall button.  Store just stores the current visibility state,
 Recall changes it to the stored value.  Perhaps 2 or 3 memories like
 this would be really useful when working with multi layer boards.
 

Hmm. I say, out of scope. ;)

 * Store layer colours and visibility data in the .pcb file.  I often
 work with a flow where I make changes to a .pcb in a text editor and
 then import them into PCB with the revert function.  It's a real
 nuisance to lose my layer visibility state every time I revert.
 

I agree, but also out of scope. I might tackle this after the GUI
work, though. We have the ability to store layer-specific attributes,
which is exactly where things like color and visibility should
go.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-22 Thread Andrew Poelstra
On Tue, Aug 23, 2011 at 02:22:25AM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  I have implemented the italicized/separated
  suggestion. You can see it here:
  
  http://www.wpsoftware.net/andrew/dump/mockup4.png
 
 Nice. 
 I note, that the longest layer name is solder mask. Why not shorten
 it to mask to save screen estate for the canvas?


I'd be cool with this, but solder mask is a well-known phrase
in the industry. It has a definition on Google and a Wikipedia
page.

mask has nowhere near the same information content. IMHO, it
is not worth the space savings. Maybe s.mask would be better?

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-21 Thread Andrew Poelstra
On Sat, Aug 20, 2011 at 04:41:05PM +0200, Kai-Martin Knaak wrote:
 
 Complex relationships cannot be indicated by simple graphical means.
 What can easily be done, is an optical hint that these layers do not
 belong to the same class as the upper layers. Simply add some separating
 space between them. 


Sounds like this is the general consensus. I will add a separator
and italicize these layers. The swatch will work, but clicking to
select will do nothing.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb segmentation fault

2011-08-21 Thread Andrew Poelstra
On Sat, Aug 20, 2011 at 08:04:03AM -0500, kqt4a...@comcast.net wrote:
 I am using version 1.99z that I compiled a few days ago
 If I press control-r while the mouse is over a component name I get a 
 segmentation fault


What kind of component? What does git log -1 show? 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Commandline option --menu-file

2011-08-20 Thread Andrew Poelstra
On Fri, Aug 19, 2011 at 01:15:32PM -0700, Colin D Bennett wrote:
 On Fri, 19 Aug 2011 16:44:12 +0200
 Kai-Martin Knaak kn...@iqo.uni-hannover.de wrote:
 
 d) While menues can be ripped off and used as a toolbox, they
  don't remember their state beyond the end of the session. This
  essentially prevents persistent user configuration of the GUI. 
 
 Actually, the GTK tear-off menus are currently broken.  I can tear off
 menus, but the items cannot be activated by clicking them.


I can confirm this, but

You can select them and hit enter to activate them.
 
 I used to use the View | Grid Size menu as a tear-off menu constantly,
 and it was very helpful.  I really miss it, but was hoping the “New
 Grids” feature would be finished and pushed to mainline pcb to
 supercede that need.


The gtk gui needs to be completely revamped. There are many individual
things to be done, but we don't have enough developers to get to them
all soon.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-20 Thread Andrew Poelstra
On Fri, Aug 19, 2011 at 01:46:24PM -0700, Steven Michalske wrote:
 
 On Aug 19, 2011, at 1:39 PM, Vanessa Ezekowitz wrote:
 
  On Fri, Aug 19, 2011 at 12:41:58PM -0400, DJ Delorie wrote:
  [...]
  Though, I am still unsure how to indicate that the last 4
  layers can't be used for drawing.
  
  Put the item names in parenthesis.
  
 A little padlock icon is universal as a locked thingy.


I will play with this idea. Probably I can fit a small padlock
onto the bottom-right corner of the swatches. How clear this
will be from a user perspective, I will not know until I try it.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-20 Thread Andrew Poelstra
On Sat, Aug 20, 2011 at 09:55:17AM +0100, Peter Clifton wrote:
 
 Also, try italicised text. That might make them appear distinct.


This might work. So might coloring the text. But this has the
same problem as putting text in parentheses: at first glance,
this visual indicator might mean -anything-.
 
 Bear in mind that the current layer chooser doesn't make any distinction
 here, so it shouldn't trip people up _that_ much if we don't
 differentiate them.


The current UI does a very good job on this point: there are no
radio buttons to select the bottom layers, so it is very clear
that they cannot be selected. At the same time, the visibility
toggle buttons are identical for each layer, so it is clear that
visibility can be toggled for everything.

What we need to do with the treeview/swatch widget, is to indicate
that the swatch still works for toggling visibility, but you can't
actually select the layer for drawing.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-19 Thread Andrew Poelstra
On Fri, Aug 19, 2011 at 01:01:07PM +0100, Peter Clifton wrote:
 On Thu, 2011-08-18 at 18:57 -0700, Andrew Poelstra wrote:
 
  That is how I would like it to work. But clicking the swatch
  also selects the layer, which is undesirable behavior. There
  is no clean way to prevent this with a GtkTreeView widget.
 
 Is there any dirty way to prevent it? ;)
 

Yes, I found one -- and it is not actually that dirty. You can
intercept the button-press-event signal, use the function

  gtk_tree_view_get_path_at_pos ()

to figure out what cell is clicked on, then prevent the propagation
of the button-press-event if it was a swatch. (In this case, you
have to toggle the visibility in the tree model yourself.)

 I note that what you are trying to achieve is similar to the GIMP layers
 dialogue (with different icons), and you _can_ toggle visibility in GIMP
 without changing the active layer selection.
 
 Hmm - looks at source..
 
 gimp/app/widgets/gimplayertreeview.c
 
 14k-line re-implementation of gtk_tree_view.
 
 
 Given GTK was originally the GIMP TOOL KIT, it seems sad that they
 have to go to such lengths to implement basic functionality.
 
 
 If we are really keen on the behaviour described - perhaps we could
 implement our own widget for it too.


It looks for now to be unnecessary. But I agree with your frustration
at the GIMP source rewriting half the toolkit.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-19 Thread Andrew Poelstra
Thanks for all of your input, guys. I've done the fun parts
now (i.e., writing the widget) and still have to hook it into
the Gtk menu system. It looks like it won't be too hard, once
I understand everything that's going on in there.

I have a busy weekend, so I won't be posting anything you can
play with for a litte while. But here is a summary of the widget:

  1. It looks like http://wpsoftware.net/andrew/dump/mockup3.png

  2. You click the swatches to toggle visibility. Double-clicking
 does not work. Sorry, Kai.

  3. You select layers by clicking on them, OR, numbers 1-0 (with
 0 meaning 10) to select layers 1-10. Then Alt+1-0 to select
 layers 11-20.

 I can't use Shift without making assumptions about what character
 Shift+1 corresponds to on the user's keyboard. So that's out.

  4. You can toggle visibility by combining Ctrl with the above
 accelerators.

-- 
Andrew Poelstra
I'm 20 today!



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-19 Thread Andrew Poelstra
On Fri, Aug 19, 2011 at 05:22:57PM +0100, Peter Clifton wrote:
 
 Cool.
 
 Here's a fun idea - had you considered using the tree view's _tree_
 feature to show layer groups?
 
 That might let us allow switching off entire layer groups, or individual
 layers within them.


Oooh. I had not considered this. We would need to have a new
discussion about keyboard shortcuts and the like, and this is
outside of the scope of what I plan to do, but I'll definitely
stick some TODO comments in to this effect.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds - summary

2011-08-19 Thread Andrew Poelstra
On Fri, Aug 19, 2011 at 12:41:58PM -0400, DJ Delorie wrote:
 
 Do we need any core changes to support any new functionality we've
 decided on?  I know people ask about making sug-group layers
 separately controllable, and/or making narrower classes of objects
 visible.


Not with the current widget, no. I think we would want to
fix the core layer-handling before doing those things. My
goal for now is to only touch gui-top-window.c, and only
affect the user's experience.

Though, I am still unsure how to indicate that the last 4
layers can't be used for drawing.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 04:12:34AM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  Kai (and others), what do you think of this mockup?:
  
  http://wpsoftware.net/andrew/dump/mockup.png 
 
 Layer names with white background are much easier to read than white
 on color we have now. If it were me, the colored squares could be a 
 tad larger without increasig the line spacing.


Good call. I increased them to 14x14 pixels of color and they are
much easier to see without increasing the line height.
 
 The little color triangles are not necessary. But I like this eye candy.
 
 There should be two highlight modes. One to show that the respective
 layer is the currently active layer. And another to provide visual 
 feedback for the mouse. These two should not be exclusive, so you can 
 mouse-highlicgt the current layer. How about underline for the active 
 layer and the systems highlight color for mouse feedback? The latter is 
 what I got to expect from gnome applications.
 

What if we just keep the active layer highlighted all the time,
and use that in place of the radio buttons?

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 08:29:13AM +0200, Krzysztof Kościuszkiewicz wrote:
 2011/8/18 Andrew Poelstra as...@sfu.ca:
 
  Kai (and others), what do you think of this mockup?:
 
  http://wpsoftware.net/andrew/dump/mockup.png
 
 Looks good. It resembles GtkTreeView and that raises a question - will
 it still be possible to toggle visibility without changing the active
 layer (moving the selection)? I also like the stronger visual
 indication of currently active layer.


You're very astute ;). It looks like you can't toggle visibility
without selecting a new layer. But there are two ways around this:

  1. If we use Kai-Martin's idea of double-clicking for visibility,
 this would not be a surprise to the user.

  2. Whenever you hide a layer, the selector would jump to the
 previously-selected layer. I haven't tried it yet, but I
 think that from a user's perspective that would make the
 visibility buttons seem independent of list selection.
 
 To me the size of layer color indication for hidden layers is too
 small - for example its hard to tell difference between power and
 outline.
 So I would either increase the size or skip showing color for
 invisible layers at all.
 

Others have suggested this too. See

  http://wpsoftware.net/andrew/mockup2.png


 I assume graying out the last 4 layers has some meaning - they're not
 selectable - but that's not immediately clear by looking at the
 widget.


That is what I meant. Can you think of how to make this clear,
while still allowing the user to toggle visibility?

IMHO it would be obvious what the graying-out meant after the
first time the user tried selecting them.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 09:25:06AM -0700, Jared Casper wrote:
On Thu, Aug 18, 2011 at 3:56 PM, Andrew Poelstra [1]as...@sfu.ca
wrote:
 
 2. Whenever you hide a layer, the selector would jump to the
 
  previously-selected layer. I haven't tried it yet, but I
  think that from a user's perspective that would make the
  visibility buttons seem independent of list selection.
 
This would work for hiding layers, but not making them visible.  If
layer X is active and layer Y is invisible, how do I make layer Y
visible without making it the active layer?  I like KMK's
click/double-click idea if possible.

Very possible. But you would still be unable to toggle visibility
independent of selection using the mouse. How important is this
to people? It bothers me, but only because there is no keyboard
shortcut in Gtk for toggling visibility.

My plan is that you can still toggle visibility by Shift-num,
without changing the active layer.

The problem with this, of course, is that it will only work with
the first 10 layers..

In practice I avoid moving the mouse all the way over to the layer
selection while doing a layout anyway, instead using my free hand on
the number keys to select the active layer.
Jared
 

Ditto. My primary goal here is to improve perhiphial view of what
layers are selected and visibile.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 01:13:37PM -0400, DJ Delorie wrote:
 
  Very possible. But you would still be unable to toggle visibility
  independent of selection using the mouse. How important is this
  to people? It bothers me, but only because there is no keyboard
  shortcut in Gtk for toggling visibility.
 
 Ctrl-n doesn't toggle visibility?  That's what the lesstif HID uses.


No. There is code in there to do this, but (to the best of my
knowledge) it has never worked. The current accelerator code is
very tangled and I wasn't able to fix it last I tried, a few
years ago.

This is another motivation for pulling the layer-selector into
its own widget. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 09:50:25AM -0700, Colin D Bennett wrote:
 
 I really dislike the double-click idea.  I often need to quickly
 enable/disable visibility of multiple layers, and the last thing I need
 is to have to double-click each button.  I would much prefer a small
 region on the button (or next to the button) that controls
 active/inactive.

I agree.

  I like the color swatch and how it shows a small
 rectangle of the layer color when the layer is hidden; if this swatch
 were the show/hide toggle, that would be very slick.


That is how I would like it to work. But clicking the swatch
also selects the layer, which is undesirable behavior. There
is no clean way to prevent this with a GtkTreeView widget.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 11:49:22AM -0700, Colin D Bennett wrote:
 On Thu, 18 Aug 2011 18:57:33 -0700
 Andrew Poelstra as...@sfu.ca wrote:
 
  On Thu, Aug 18, 2011 at 09:50:25AM -0700, Colin D Bennett wrote:
I like the color swatch and how it shows a small
   rectangle of the layer color when the layer is hidden; if this
   swatch were the show/hide toggle, that would be very slick.
  
  That is how I would like it to work. But clicking the swatch
  also selects the layer, which is undesirable behavior. There
  is no clean way to prevent this with a GtkTreeView widget.
 
 It doesn't sound like a “tree view” is the most appropriate concept for
 the layer list.  There is no apparent visual hierarchy.  I am not
 familiar with GTK, but is there another widget that would be more
 suitable?  E.g., table, list, general scrollable canvas with custom
 widgets stacked vertically?


No, tree view is used for everything. You can hookup a tree model
if you want a heirarchy, but for lists you hookup a list model.

The viewing logic is the same, so gtk used the confusing name tree
view for both in other to avoid code duplication.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-18 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 11:34:04PM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  I like KMK's
 click/double-click idea if possible.
  
  Very possible. But you would still be unable to toggle visibility
  independent of selection using the mouse. 
 
 Why is this so? Are double clicked items automatically selected 
 in GTK widgets?


They are in a GtkTreeView. It's a nasty, inflexible widget.
 
 
  How important is this to people? 
 
 Quite important. When working with four layer layouts I often 
 need to toggle visibility of layers while I keep working one
 of the inner layers.
 
  It bothers me, but only because there is no keyboard
  shortcut in Gtk for toggling visibility.
 
 I'd prefer to have both: Mouse click action and keyboard accels.
 

I've gotten the swatch-clicking to work by catching mouse clicks
over the visibility toggle column and preventing those clicks from
propagating to the GtkTreeView.

You say you don't want to reach for a tiny area with the mouse.
I have increased the swatch size. Take a look at:

http://wpsoftware.net/andrew/dump/mockup3.png

The swatches are far larger than the radio buttons, have more
visibly clickable area (as they are square), and contrast with
their surroundings more.

 
  My plan is that you can still toggle visibility by Shift-num,
  without changing the active layer.
  
  The problem with this, of course, is that it will only work with
  the first 10 layers..
 
 [ctrl-num] to select 11 to 20, [shift-ctrl-num] to toggle visibility.
 [alt-num] to select 21 to 30, [shift-ctrl-num] to toggle visibility.
 [alt-ctrl-num] to select 31 to 40, [shift-alt-ctrl-num] for visibility ;-)


Heey, I like that. For compatibility with lesstif we should switch
Shift and Ctrl, but otherwise I'm all for this.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Layer button backgrounds

2011-08-17 Thread Andrew Poelstra

Hey all,

I am working on moving the Gtk layer-selector into its
own widget (see bug 699482, for example), and cleaning
up the code.

A question I have for the group is: why are the backgrounds
of the layer buttons in little rectangles? Is there
opposition to making the background fill the whole buttons,
like so?:

http://wpsoftware.net/andrew/dump/buttons.png

It would simplify the code a bit and IMHO looks more modern.
There is a bit of an optical illusion making the new buttons
seem bigger, but I checked in gimp and there is no change in
size.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-17 Thread Andrew Poelstra
On Wed, Aug 17, 2011 at 01:14:46PM -0700, Colin D Bennett wrote:
 On Wed, 17 Aug 2011 20:48:48 +0200
 Felix Ruoff fe...@posaunenmission.de wrote:
 
  I personally like the new style you created. Its very nice! I think
  the reason for adding this small rectangles is, that its easier to
  see, if the button is pressed.
 
 Good point.  I do like the full color fill you show, Andrew.  However,
 I think we need a better way of indicating which layers are visible.
 Perhaps a little X or checkbox icon on the button?  I already dislike
 the current buttons' indication of which layers are visible (change of
 fill color and text color with inset or outset border). Maybe something
 better can be done.


I suggested last year copying the Gimp's layer selector: left-click
to activate, with visibility controlled by a toggle-able eye pixmap.

There was not much support for the idea. The feeling was that we should
try to make the layer selector take less space, whereas adding pixmaps
would take more.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-17 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 07:31:24AM +1000, Stephen Ecob wrote:
  Good point.  I do like the full color fill you show, Andrew.  However,
  I think we need a better way of indicating which layers are visible.
  Perhaps a little X or checkbox icon on the button?  I already dislike
  the current buttons' indication of which layers are visible (change of
  fill color and text color with inset or outset border). Maybe something
  better can be done.
 
 Photoshop (and also GIMP) use a small on/off icon that looks like an
 eye to control layer visibility. This may or may not be a good way to
 do it, but it is certainly a familiar UI to many people.


I think such a thing would look like:
http://wpsoftware.net/andrew/dump/selector.png

What do people think of this? 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer button backgrounds

2011-08-17 Thread Andrew Poelstra
On Thu, Aug 18, 2011 at 12:08:34AM +0200, Kai-Martin Knaak wrote:
 
 This advantage wears off as the user uses the feature more often.
 Using layers is very basic to PCB. Typical use switches layers 
 very often in a session. Because of this, long term aspects become 
 more important, like efficient use of screen real estate and good
 visibility of important aspects.
 
 Eye icons would demand an additional share of space that cannot be
 used for the canvas. Greyed out buttons buttons are a very intuitive
 and obvious way to signal invisibility.


Kai (and others), what do you think of this mockup?:

http://wpsoftware.net/andrew/dump/mockup.png 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Nanometer conversion pushed to git head

2011-08-16 Thread Andrew Poelstra
On Tue, Aug 16, 2011 at 11:53:21PM +0100, Peter Clifton wrote:
 On Mon, 2011-08-15 at 18:34 -0700, Andrew Poelstra wrote:
  Exciting news everyone!
  
  I have just pushed the nanometer conversion patches to git HEAD.
 
 I'm really glad to see this work merged. When I get a moment, I will
 rebase my PCB+GL branches against it. (I might do it in a few gentle
 steps, rather than all 56 commits at once - depending on how brave I
 feel!).
 
 
 I see a lot of people think this will help with (hiding) the rotating a
 square pad bug. I'm still uneasy about that though.
 
 We should perhaps make our next order of business fixing that properly.
 I guess we should modify / extending the pad definition line to specify
 an orientation, or allow specification of an overall rotation for a
 package.


Can we do this by adding a pcb::rotation attribute to every object?
I mentioned in another thread my desire to not add anymore cruft to
the current file-format.

This would, of course, break backward-compatibility no matter what we
do. The square-pad bug is hardcoded into every .pcb that it affects.

Maybe by default we would only use this attribute on square pads ;)
we really don't have enough stuff pcb can read but not write floating
around the file format..

With the attribute solution, at least, we won't have to touch the
parser.

 I have some ideas about how pad-stacks could be made more general
 though, so a square pad (like many others) is just a special case of a
 polygon - which can, of course.. be rotated arbitrarily, either at the
 pad level, or on the component level.
 

We had a long discussion last time we talked about future file
formats, in regards to primitives. What geometric primitives do
we want? What electrical primitives? How are layers stored? Can
we mark subsets of layers? Can we set different DRC rules on
everything?

How do vias work? Are they special in spanning multiple layers?
Or can anything do that? Can we specify the substrate? Layer
thickness? Trace height?

Even sticking to geometry, how much should be stored as polygons?
Should text? Should arcs? Bezier curves?

(I would love to have answers to these questions. My point is
 simply that there're a LOT of them. And it might be hard to
 fix the square-pad-rotation bug without answering them.)

 
  Please test and let me know how things are working. I have
  compiled all 56 commits (by script) to confirm that they can
  compile so git bisect will work.
 
 That is really good. Perhaps you can lend me your script to run over my
 PCB+GL stuff ;) I do manual compile tests for each commit before pushing
 stuff to git HEAD, but don't always test everything after I rebase.
 

while ((i = 0; i  50; ++i)); do git checkout HEAD^; make/dev/null; done

(I ran it 2-and-a-bit times to get all 56 commits ;)

I did this, scrolled through the output, noted the (two) bad commits,
and fixed them both in one rebase -i.

 
  I have done a few save/load tests. There does not appear to
  be any breaks in the file format.
  
  
  Thank you all for your support and testing as I have worked
  on this over the last month or two.
 
 Your efforts are much appreciated. As soon as I get a chance, I'll try
 running it on some real production board data to verify things look the
 same.
 

Thanks! I hope it goes well.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Nanometer conversion pushed to git head

2011-08-15 Thread Andrew Poelstra

Exciting news everyone!

I have just pushed the nanometer conversion patches to git HEAD.


Please test and let me know how things are working. I have
compiled all 56 commits (by script) to confirm that they can
compile so git bisect will work.

I have done a few save/load tests. There does not appear to
be any breaks in the file format.


Thank you all for your support and testing as I have worked
on this over the last month or two.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Bug in 'FreeRotateBuffer()'? (WAS: Re: Line Thickness in Imported DXF Files; Rotating by Arbitrary Angle; UTF-8)

2011-08-15 Thread Andrew Poelstra
On Mon, Aug 15, 2011 at 11:29:59AM -0700, Colin D Bennett wrote:
 On Mon, 15 Aug 2011 15:50:23 +0200
 Kai-Martin Knaak kn...@iqo.uni-hannover.de wrote:
 
  Gus Fantanas wrote:
  
   Is it a bug or 
   did I do something wrong when I created the footprint? 
  
  It is half a bug. Exactly square pads are defined by two points that 
  coincide. There is no orientation attached to this. So PCB assumes
  the square shape should be aligened along the axis of the grid. After
  the rotation transform was applied to the two points, they still
  coincide. Consequently PCB insists to render them like before.
  
  The work-around is to make the pads slightly non-square. Then 
  There are rounding glitches, though. If the two points differ by too 
  little distance, the resulting shape renders not quite in the
  expected angle.
 
 Because of this bug (it is completely a bug from the user's point of
 view), as you suggested I always make my nominally-square pads slightly
 non-square.  Usually by +/- 0.01 mil or +/- 0.02 mil, but that might not
 be enough for good rotation... hopefully nanometer conversion will
 improve that significantly with no extra effort for us footprint
 designers.


The problem is that the file-format still saves in cmils. (You can
use a text-editor to put the new units in, but then you have problems
with backward-compatibility.)

But I second this is a bug. It is just a bug with no non-breaking
solution.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Nanometer conversion pushed to git head

2011-08-15 Thread Andrew Poelstra
On Mon, Aug 15, 2011 at 09:47:18PM +0200, Felix Ruoff wrote:
Congratulations! Really an impressive work!
I found an 'incomplete function' (or bug) with the new coord-entry in
the gtk gui:
The spinning-arrows just work with mil unit set. Even, when changed to
mm and back to mil, they don't work at my short test.

Thanks, I didn't see this. The increments stop working when the
units are changed. (If you close the dialog, change pcb's units,
and re-open it, this will change the spinbox units without breaking
it.)

And: the line
/* FIXME: need to write a coord-entry widget for this */
in gtk/gui-dialog-print.c seems to be 'outdated' ;).

Indeed it is: the very next line calls gtk_pcb_coord_entry_new().

I am now going to rebase my (Kai-Martin's) patches for the
documentation...
Kind regards,
Felix
Am 16.08.2011 03:34, schrieb Andrew Poelstra:
 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Nanometer conversion pushed to git head

2011-08-15 Thread Andrew Poelstra
On Mon, Aug 15, 2011 at 09:47:18PM +0200, Felix Ruoff wrote:
Congratulations! Really an impressive work!
I found an 'incomplete function' (or bug) with the new coord-entry in
the gtk gui:
The spinning-arrows just work with mil unit set. Even, when changed to
mm and back to mil, they don't work at my short test.
And: the line
/* FIXME: need to write a coord-entry widget for this */
in gtk/gui-dialog-print.c seems to be 'outdated' ;).
I am now going to rebase my (Kai-Martin's) patches for the
documentation...

Both fixed in git HEAD. Thanks for reporting it.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Bug in 'FreeRotateBuffer()'? (WAS: Re: Line Thickness in Imported DXF Files; Rotating by Arbitrary Angle; UTF-8)

2011-08-15 Thread Andrew Poelstra
On Mon, Aug 15, 2011 at 12:17:07PM -0700, Colin D Bennett wrote:
 On Mon, 15 Aug 2011 19:24:34 -0700
 Andrew Poelstra as...@sfu.ca wrote:
 
  On Mon, Aug 15, 2011 at 11:29:59AM -0700, Colin D Bennett wrote:
   Because of this bug (it is completely a bug from the user's point of
   view), as you suggested I always make my nominally-square pads
   slightly non-square.  Usually by +/- 0.01 mil or +/- 0.02 mil, but
   that might not be enough for good rotation... hopefully nanometer
   conversion will improve that significantly with no extra effort for
   us footprint designers.
  
  The problem is that the file-format still saves in cmils. (You can
  use a text-editor to put the new units in, but then you have problems
  with backward-compatibility.)
 
 Perhaps after the nanometer conversion has been thoroughly run through
 its paces in mainline pcb for a while, and we feel it is rock-solid, we
 can add a Preferences option to save .pcb files with coordinates and
 lengths in nm rather than cmil.


My thinking on this is to just not break the file-format anymore
until we switch to an extensible one. At that point we'll write
an importer and exporter to the old format -- and this exporter's
output could work with pcb versions back to 2007 (or earlier) just
as pcb does now.

Perhaps the new file format is too far away. (I for one won't
have time to do such a thing until next summer.) But it would be
nice if our current .pcb parser had no more cruft to deal with.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB opengl?

2011-08-14 Thread Andrew Poelstra
On Sat, Aug 13, 2011 at 05:38:10PM +0200, Kai-Martin Knaak wrote:
 michalwd1979 wrote:
 
  Is the pcb opengl branch in the main repository now? Is there any 
  official version of the opengl branch?
 
 Yes.
 Since about two months 
   clone git://git.gpleda.org/pcb.git 
 will give you transparent tracks and polygons :-)
 
 BTW, when can we eyxpect an official release, so that openGL trickles 
 down to distro packages?


Assuming there are no more major bugs, I will push my
metric base-unit changes to git head Monday morning. 

I would love to see a new version released in 2011.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Commandline option --menu-file

2011-08-14 Thread Andrew Poelstra
On Sun, Aug 14, 2011 at 06:22:48PM +0200, Felix Ruoff wrote:
 Hello,
 
 I found a commandline option '--menu-file' in the sources (main.c)
 which seems to be broken. (The expected functionality is given with
 the option --pcb-menu).


Even this other option is untouched in lesstif, and in Gtk,
ignored if gpcb-menu.res or ~/.pcb/gpcb-menu.res.
 
 Do you think the same like me that this code can be removed?
 I appended two patches:
 0055: Removes this commandline option
 0056: Removes a variable from the SettingTypePtr which seems to be unused.
 
 Please give me some feedback, if I can check this patches in (or do
 it yourself) or if you see problems this patches introduce.
 

I agree with this. The Media variable isn't used, it should be gone.
Ditto for the --menu-file option. Honestly, we should probably get rid
of --pcb-menu as well, unless someone wants to put in the effort to:

  1. Unify lesstif/gtk handling of it.
  2. Make it take precedence over the hardcoded pcb-menu/gpcb-menu.res


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB option --minimum polygon area

2011-08-14 Thread Andrew Poelstra
On Sun, Aug 14, 2011 at 07:18:02PM +0200, Felix Ruoff wrote:
 Hello,
 
 as said before, I am working on Kai-Martins patch for the
 command-line options.
 I am nearly ready with modifying his patch that it will fit to
 actual git head.
 
 I have a question to the option '--minimum polygon area': What is
 the unit of the value? Is this in square* (where * is mm, mil, ...)?
 How should one give the unit for this option?


I think it's in square base units. This can't be changed since
pcb doesn't know how to convert square units. This is the only
variable that would need such a thing.

Peter C. has hinted at getting rid of IsleArea entirely, but I
don't think there is any progress toward this goal. It is only
used in MorphPolygon.
 
 (And: why is this option without minus-sign (-) between the words?
 Is this on purpose?)


Looks like an accident. It might have been done to prevent people
using it.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-12 Thread Andrew Poelstra
On Wed, Aug 10, 2011 at 04:04:47PM -0700, Andrew Poelstra wrote:
 
 Hey all,
 
 
 I have a pcb branch available here for testing:
 
   git clone git://wpsoftware.net/pcb-andrew.git
   git checkout coord6


You can now pull branch coord7 (from the same repository).
It includes all the changes discussed thus far:

  - fix IsPointOnArc   (DJ: DRC failure)
  - fix report.c   (DJ: bad drill-report spacing)
  - fix report.c   (me: segfault on arc object report)
  - fix lesstif_logv   (DJ: bad DRC output)
  - fix lesstif mm/mil menu, make MARK_SIZE unit-agnostic
  (all DJ again)
  - fix LARGE_VALUE overflows
  (Colin: selecting multiple objects is weird)

And I think Karl Hammar's segfault-on-doc-compile is fixed.
If not, please let me know!

All tests pass EXCEPT hid_png3 fails with a single-pixel
error. This is just a rounding anomaly and I think I should
change the test.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-12 Thread Andrew Poelstra
On Fri, Aug 12, 2011 at 11:31:39PM +0200, Karl Hammar wrote:
 Andrew Poelstra:
  On Thu, Aug 11, 2011 at 09:30:34PM +0200, Karl Hammar wrote:
 ...
   -#define LARGE_VALUE(LONG_MAX / 2 - 1) /* maximum extent of 
   board and elements */
   +#define LARGE_VALUELONG_MAX /* (LONG_MAX / 2 - 1) maximum 
   extent of board and elements */
 ...
   Why do you want to use only half the range?
 
  So that the width of a max width box can be calculated as
  LARGE_VALUE - (-LARGE_VALUE) without overflow,
 
 Hmm, wouldn't it be better to use unsigned here?

No, because we store deltas a lot as Coords. In the .pcb format
the contents of elements (footprints) are stored relative to the
mark, which are often negative.

Ditto for the r/phi display in the GUI. These are all Coord units.

 [snip]
 
 Isn't that most easily fixed by using a wider type during addition?
 

Yes, but we might not have a bigger int.

 [snip]
 
 Well, not any great consern, just thinking aloud.


I hope it isn't a great concern. If it is, we will eventually have
to address the issues you raise. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-12 Thread Andrew Poelstra
On Fri, Aug 12, 2011 at 11:53:52PM +0200, Karl Hammar wrote:
 Andrew Poelstra:
 ...
  You can now pull branch coord7 (from the same repository).
 ...
  And I think Karl Hammar's segfault-on-doc-compile is fixed.
  If not, please let me know!
 
  (Using ./autogen  ./configure --with-gui=lesstif  make clean  make)
 
 The segfault is gone, but the missing share dir is still there,
 and a rangecheck error:
 
 ...
   gawk -f ./ascii2texi.awk ncol=3 wire_size.tab  wire_size.texi
   ../src/pcb -x png --only-visible --font-path ../src --outfile pad.png 
 pad.pcb
   sh: 
 /var/home/karl/Net/Hmm/git/pcb-andrew/src/../share/pcb/ListLibraryContents.sh:
  No such file or directory
   Can't change working directory to
  '/var/home/karl/Net/Hmm/git/pcb-andrew/src/../share/pcb/newlib'
 ...
   /usr/bin/ps2pdf `gawk 'BEGIN{s=8}; /BoundingBox/ {printf(-r%d -g%dx%d, 
 s*72, s*$4, s*$5);}' pad.eps` pad.eps pad.pdf
   Unrecoverable error: rangecheck in .putdeviceprops
   make[2]: *** [pad.pdf] Error 255
   rm pad.eps
   make[2]: Leaving directory `/var/home/karl/Net/Hmm/git/pcb-andrew/doc'
   make[1]: *** [all-recursive] Error 1
   make[1]: Leaving directory `/var/home/karl/Net/Hmm/git/pcb-andrew'
   make: *** [all] Error 2


Cool, I see it now when compiling on a 32-bit system. It is
caused by the BoundingBox attribute of the .eps files, which
is written in 1/72.

To do this, the code multiplies by 72 and then outputs in inches
-- as you can imagine, storing 72 or 144 inches in nanometers
causes overflows!

Fixed in pcb-andrew/coord7.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Version compatibility between gschem and PCB

2011-08-11 Thread Andrew Poelstra
On Thu, Aug 11, 2011 at 10:40:51AM -0400, John Hudak wrote:
I came across an board layout file that requires a newer version of PCB
than I have installed.  My version of PCB is 20091103.  If I upgrade to
the most recent version of PCB, will it be able to interoperate with
gschem 1.6.1.20100214?

The programs aren't really linked. What do you mean by interoperate?

In any case, the only file format change from 2007 to 2010 was to add
holes in polygons. I can't imagine gschem would know or care about this.

Also, a clarification of terminology for me is needed.  The PCB website
([1]http://pcb.gpleda.org/) lists a number of 'snapshots'..are
these beta releases or are they the most recent releases for
distribution?

The snapshots are official releases -- at least, they are what appear
in distributions. I believe they are called as such because we ran out
of version numbers at 1.99z and haven't decided what to do about it.

Another related question.  I am running gschem and PCB under Ubuntu
10.10, Maverick Meerkat.  Are there any issues in upgrading PCB for
this version of Ubuntu?

Not that I know of. I have an Ubuntu 11.04 box on which pcb seems to
work. I rarely use it there, though.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-11 Thread Andrew Poelstra
On Wed, Aug 10, 2011 at 01:07:48PM -0700, Colin D Bennett wrote:
 On Wed, 10 Aug 2011 16:04:47 -0700
 Andrew Poelstra as...@sfu.ca wrote:
 
  Please test this and let me know what needs to be done. Thanks!
 
 OK, I have noticed one bug.  If I draw some lines on a copper layer,
 two strange things occur:
 
 (1) When I click on a line, it becomes highlighted and is selected.  If
 I then click another line, it is also highlighted, but the first line
 remains highlighted as well.  Every line clicked adds to the set of
 highlighted lines.  I can, however, deselect a line by Shift-clicking
 it.


Still happens to me on pcb-20100929-RELEASE after:

./autogen.sh 
  ./configure --with-gui=lesstif --disable-doc --enable-maintainer-mode 
  make clean /dev/null 
  make /dev/null

I don't know what to make of this. I guess a fresh clone is next...

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-11 Thread Andrew Poelstra
On Thu, Aug 11, 2011 at 10:44:42AM -0700, Andrew Poelstra wrote:
 
 Still happens to me on pcb-20100929-RELEASE after:
 
 ./autogen.sh 
   ./configure --with-gui=lesstif --disable-doc --enable-maintainer-mode 
   make clean /dev/null 
   make /dev/null
 
 I don't know what to make of this. I guess a fresh clone is next...


Never mind. I was compiling and running from different
directories. The bug is indeed a result of the nanometer
code. It appears in commit:

[8df4fbf0eaf669929bc4ba49062a573df1dac986] *** CONVERT PCB'S BASE UNITS TO 
NANOMETERS ***

so I think it is an overflow. Thank's for reporting it. 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB nanometer git tree

2011-08-11 Thread Andrew Poelstra
On Thu, Aug 11, 2011 at 09:30:34PM +0200, Karl Hammar wrote:
 
 It seems to work after this patch also:
 

You mean your cannot compile docs bug? I cannot reproduce
that now, nor could I when you reported it.

 ///
 
 diff --git a/globalconst.h b/globalconst.h
 index 6599823..12c0592 100755
 --- a/globalconst.h
 +++ b/globalconst.h
 @@ -60,7 +60,7 @@
  /* 
 ---
   * some limit specifications
   */
 -#define LARGE_VALUE(LONG_MAX / 2 - 1) /* maximum extent of board 
 and elements */
 +#define LARGE_VALUELONG_MAX /* (LONG_MAX / 2 - 1) maximum extent 
 of board and elements */
   
  #defineMAX_LAYER   16  /* max number of layer, check 
 source */
 /* code for more changes, a *lot* 
 more changes */
 
 ///
 
 A Coord is a typedef for long, and a long is signed type. Its range is 
 LONG_MIN to LONG_MAX, where
 
 $ grep -- -LONG_MAX /usr/include/limits.h 
 #  define LONG_MIN  (-LONG_MAX - 1L)
 
 on a typical 2's complement machine.
 
 Why do you want to use only half the range?


So that the width of a max width box can be calculated as
LARGE_VALUE - (-LARGE_VALUE) without overflow, and so that two
maximum widths can be averaged as (x + x) / 2.
 
-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: The difference in pcb gerber and gerbv gerber

2011-08-11 Thread Andrew Poelstra
On Thu, Aug 11, 2011 at 03:21:24PM -0500, kqt4a...@comcast.net wrote:
 If I produce a layout in pcb and export the gerber files then load
 the gerber files into gerbv and export once again as gerber I get
 two different files
 I have been reading http://www.excellon.com/manuals/program.htm
 trying to understand but I am a bit lost
 Could someone throw me a bone


gerbv and pcb are separate programs with separate gerber export
code. How serious is the discrepancy?

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: This patch is breaking compile

2011-08-10 Thread Andrew Poelstra
On Wed, Aug 10, 2011 at 01:25:35PM -0500, kqt4a...@comcast.net wrote:

 [Jun 25 patches from https://bugs.launchpad.net/pcb/+bug/699497]
 
 [compilation error in gcode.c]

 Other than 'Don't do that' any suggestions?
 

Ask Traumflug nicely to rebase his patches on current git again?


It would be nice if a dev could take the time to review and
commit these patches. They've been hanging around the tracker
forever and reflect poorly on our willingness to work with
new developers.

Having said that, I certainly don't have time. ;)

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: PCB nanometer git tree

2011-08-09 Thread Andrew Poelstra

Hey all,


I have a pcb branch available here for testing:

  git clone git://wpsoftware.net/pcb-andrew.git
  git checkout coord6

which uses the new unit-handling code, including a metric base
unit. There are probably huge glaring bugs in this. Please let
me know if you see them.

(Note that you need to checkout branch coord6. There is also
 a coord5 branch -- this is NOT the same coord5 that existed
 the last time I posted the link. Please re-clone. Trying to
 do a pull will likely result in grief.)


New features not in mainline pcb (yet):

  1. Nanometer precision. No more rounding errors. Probably there
 will be overflow errors though. I'm working on it.

  2. You can tack a unit suffix onto pretty much anything that
 makes sense, including command-line options, .pcb contents
 and dialog box inputs.

  3. Coordinate inputs now have a customize spinbox that handles
 units. You can type in different units than the default and
 they will roll with it. You can also convert to different
 units by right-clicking and choosing Change Units submenu.

  4. All these can be used as display units. The mm/mil button
 will only give you mm and mil, but to access the others
 just type
   :SetUnits(in)
 for example.

  5. Grid setting is saved in the .pcb via the PCB::grid::unit
 attribute.

  6. All units are available in BOM and gcode exporters.

  7. Numerous code cleanups.


Please test this and let me know what needs to be done. Thanks!

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Constraint-based PCB footprint design

2011-08-08 Thread Andrew Poelstra
On Mon, Aug 08, 2011 at 10:48:19PM +0100, Peter Clifton wrote:
 On Mon, 2011-08-08 at 03:47 +0100, Rob Spanton wrote:
 
  The tool is by no means complete...  it's the result of just a few hours
  work right now.  Anyway, I hope either the tool or the concept of the
  tool might be of use to at least some in the gEDA community.
 
 Certainly a feature like this will be a work of awesome when it is
 complete. I've wanted such a feature (to use) for a LONG while, and
 never got around to quantifying just what it would look like.
 
 I've been thinking about grid-less board routing recently (which is in
 some ways similar), and 'm really glad to see you've started this tool.


What would be the prereqs for this becoming an official part
of the gEDA suite?

Assuming it gets past the couple hours worth of hacking phase,
that is. It looks like it will, given the enthusiasm on the list.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-08 Thread Andrew Poelstra
On Sat, Aug 06, 2011 at 11:16:11PM +0200, Kai-Martin Knaak wrote:
 
 The procedures with no_drc look unchanged. I still don't see a way 
 to make this work. I give up and write a bug report. 


Bump.

(Whenever I get a chance, if you have not reported this, then I
 will. But that might not be for a while and I do not want to
 forget about this.) 


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-06 Thread Andrew Poelstra
On Sat, Aug 06, 2011 at 05:23:59PM +0200, Kai-Martin Knaak wrote:
 
 The continue statement completely messes the DRC check. I get more
 violations with PCB::skip-drc than without. Seems like the if-statements
 have some side effect that should not be skipped. What does the r_search 
 line actually do?
 
 The comment in rtree.h says, this function returns true if something 
 is found in a region given by the parameters. But in the context of 
 find.c the result of the r_search() does not seem to be used:
 
   info.layer = layer;
   /* add touching lines */
   if (setjmp (info.env) == 0)
 r_search (LAYER_PTR (layer)-line_tree, (BoxType *)  info.pv,
   NULL, LOCtoPVline_callback, info);
   else
 return true;
 
 Does r_search() change any aspect of the parameters it gets?

r_search does not, directly. But if it finds something, it calls
LOCtoPVline_callback, which might. It definitely modifies global
state.

Probably there is a counter or something. Everything is hidden
behind macros.

I had a similar bug in cleaning up LineLineIntersect. It changed
the number of DRC errors on my stereo bike from 10 to ~50. In the
end I did not understand the bug or how it worked -- I only found
the place where I had changed the code's behavior accidentally.

 What is the logic behind the if statement? That is, what is it supposed
 to mean if inf.env does equal zero or contains some other value?
 
 Sorry for being such a programming noob. My hacking skills are pretty
 under developed.


I really wish we were not using setjmp/longjmp. They are essentially
global goto statements -- setjmp stores the stack frame and instruction
pointer (environment) in the given variable, and longjmp restores it.

setjmp returns zero when you first call it. But when restoring the
stack frame, it returns 1, so that we don't get an infinite loop.

They make even experienced programmers very nervous.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-06 Thread Andrew Poelstra
Kai, just for fun, you might want to try with the nanometers
branch:

 git clone git://wpsoftware.net/pcb-andrew.git

checkout branch coord5. If you don't want the actual conversion,
checkout coord5^. It has a fairly cleaned-up find.c that should
behave the same way, but be a little easier to trace.


A quick status update:

I am working on bug 699640. It is fixed in gtk but not lesstif on my
laptop. When I finish that I'll do some quick tests and post an excited
nanometers conversion done please test so I can push !!! post. I am
busy this weekend, so probably early next week.

You can run
  git log coord5 --not master
to see the specific commits I've been doing over the last month or so.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-06 Thread Andrew Poelstra
On Sat, Aug 06, 2011 at 11:16:11PM +0200, Kai-Martin Knaak wrote:
 Andrew Poelstra wrote:
 
  Kai, just for fun, you might want to try with the nanometers
  branch:
  
   git clone git://wpsoftware.net/pcb-andrew.git
  
 I did and it compiled right away.
 
 
  checkout branch coord5.
 
 Initially, the crosshair snapped to about four positions on the canvas.
 After I tried the unit button and grid settings, the cross hair stuck 
 to the edge of the canvas. 


I'm not sure how much of this is crosshair trouble, and how much
is the pcb being the wrong size. But with lesstif things are a
fair bit better.
 
 
  If you don't want the actual conversion,
  checkout coord5^.
 
 The coord5 binary presented a working crosshair. 
 Large text in silk renders funny with this version. See attachment.
 

Cool. Looks like an overflow.

 
  It has a fairly cleaned-up find.c that should
  behave the same way, but be a little easier to trace.
 
 The procedures with no_drc look unchanged. I still don't see a way 
 to make this work. I give up and write a bug report. 


:( 


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-05 Thread Andrew Poelstra
On Fri, Aug 05, 2011 at 07:28:34PM +0200, Kai-Martin Knaak wrote:
 Kai-Martin Knaak wrote:
 
  Unfortunately, current git head of PCB enters an infinite loop if
  the attribute is set correctly. The attached patch fixes this bug.
  Now, DRC does indeed ignore the layers marked by the attribute. 
  ( I triple checked ;-)
 
 Well, it was working for a smallish pet project. Unfortunately, it still 
 fails in a similar way for my real project (the large one). 
 
 As a workaround, I tried to temporarily remove all tracks from the layers
 I don't want to apply the DRC check to. But this breaks connectivity and
 DRC gets swamped by false positives.
 
 Looks like I am running out of options...
 
 Maybe, PCB::skip-drc can be made to work, after all. I was able to narrow 
 down the code path for the entry into the endless loop. It is a continue 
 statement in LookupLOConnectionsToPVList() in the middle of find.c . See
 below. The offending lines are marked with an exclamation mark at the start 
 of 
 the line. Anyone got an idea, what might be the correct way to skip here?
 
 /from pcb/src/find.c
 static bool
 LookupLOConnectionsToPVList (bool AndRats)
 {
   Cardinal layer;
   struct pv_info info;
 
   /* loop over all PVs currently on list */
   while (PVList.Location  PVList.Number)
 {
   /* get pointer to data */
   info.pv = *(PVLIST_ENTRY (PVList.Location));
   EXPAND_BOUNDS (info.pv);
 
   /* check pads */
   if (setjmp (info.env) == 0)
 r_search (PCB-Data-pad_tree, (BoxType *)  info.pv, NULL,
   LOCtoPVpad_callback, info);
   else
 return true;
 
   /* now all lines, arcs and polygons of the several layers */
   for (layer = 0; layer  max_copper_layer; layer++)
 {
 !  if (LAYER_PTR (layer)-no_drc)
 ! continue; 
   info.layer = layer;
 
 ... 

Hmm, at a glance this looks okay. Can you change the loop to
dump some debug code before each continue, like, say,

if (LAYER_PTR (layer)-no_drc)
  {
fprintf (stderr, Skip layer %d, max %d, (PVL.L %d, PVL.N %d) 
continuing...\n,
 layer, max_copper_layer, PVList.Location, PVList.Number);
continue;
  }

Then above and below the for loop add
  puts (enter FOR);
...
  puts (exit FOR);
and similar for the while() loop.

That should tell you a bit more about how this loop is happening.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Linux Desktop für gEDA

2011-08-05 Thread Andrew Poelstra
On Fri, Aug 05, 2011 at 12:35:38PM -0700, yamazakir2 wrote:
 Do you guys use your linux box for general desktop usage or only EDA?
 I ask because I have tried many times to make the switch to linux for
 general desktop usage but can't get over the inconvenience of it. I
 have a linux box specifically for EDA (gschem, pcb, spice simulations,
 etc), so I couldn't care less what the WM is. It could be motif for
 all I care.


Just Linux, going on ten years now.

Interesting that you call it inconvienent. Perhaps with the default
window managers (KDE 3/4 and Gnome 2/3 all seem hard to navigate by
keyboard, while Win7 is excellent IMHO). And being nearly all Linux
software is uselessly named, I would imagine finding programs to be
a pain at first...only at first though.

But having find/grep/sed/cat/awk/gcc/git/vi/ssh/sftp/mutt all at my
fingertips more than makes up for that. Plus all my music is in FLAC
or OGG format.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Layer selective DRC

2011-08-05 Thread Andrew Poelstra
On Fri, Aug 05, 2011 at 02:05:14PM -0400, DJ Delorie wrote:
 
 Yup, namespaces.  Each app/module/whatever should have its own
 namespace, although I'm not picky about the syntax as long as it's
 consistent.
 
 PCB::grid-units 
 grid::units
 
 etc.
 
 It makes sense for all of PCB's built-in ones to use PCB:: leaving
 other namespaces for plugins and external apps.


I am going to use

  PCB::grid::unit

if nobody has any complaints.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Linux Desktop für gEDA

2011-08-04 Thread Andrew Poelstra
On Thu, Aug 04, 2011 at 08:08:31PM +0200, Markus wrote:
 
What desktop are you using for gEDA?


I use wmii.

Evidently this is the worst place you could have asked.. ;)


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: [PATCH] Fix distance display in lesstif HID.

2011-08-01 Thread Andrew Poelstra
On Mon, Aug 01, 2011 at 04:51:51PM +0200, Gabriel Paubert wrote:
   Hi,
 
 in src/did/lesstif/main.c, the Distance function is called
 with the parameters in the wrong order.
 
 This small patches fixes the problem. I still think that
 the format is wrong, or at least the rounding to integer
 mm/mil taking only the grid into account, but I've not yet
 decided on how to fix it. The worse is that often the display
 is wrong because the decimal part is truncated (displaying
 say -24 between two grid points on a 5mil grid).


Thanks, Gabriel. I have pushed your fix.

In future, when I convert the lesstif HID to allow arbitrary
user units, I will use the default precision for pcb-printf.
This will be 0 for cmils, 2 for mils, 4 for mm, etc.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: New line-snapping feature for PCB - please try it!

2011-07-24 Thread Andrew Poelstra
On Sun, Jul 24, 2011 at 11:31:52AM +0100, Peter Clifton wrote:
 On Sun, 2011-07-24 at 01:37 +0200, Kai-Martin Knaak wrote:
  Peter Clifton wrote:
  
   adding a feature for snapping to off-grid points along the body of a
   track.
  
  Sounds good, but I don't quite understand the details. Where exactly 
  are these points?
 
 Try it and you will see ;)
 
 Basically, when you're over the line, the snap code picks the nearest
 grid point to where your mouse pointer is, then casts out from it in
 vertical, horizontal and both 45 degree angles in between, until it hits
 the line your mouse pointer is over.
 
 Any of the intersections between the cast lines and the line you're over
 will snap - the closest to your mouse pointer is choesen.


My first impression is that I like it. Now I can draw certain lines
on very fine grids and not have to worry when working on coarser ones.

The old behavior was very frustrating.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Recap of remaining metric-conversion work

2011-07-24 Thread Andrew Poelstra
On Sun, Jul 24, 2011 at 11:43:31AM +0100, Peter Clifton wrote:
 On Sun, 2011-07-24 at 08:33 -0700, Andrew Poelstra wrote:
 
  This causes no regressions, though if you are playing with grids
  you may need commit #2 below, which does cause regressions.
 
 I've not been working with the grid really - just the
 FitCrosshairIntoGrid function in crosshair.c.
 
 (Incidentally - this doesn't really do what it says in the function
 name.. evaluating GRIDFIT_X and GRIDFIT_Y on the mouse pointer position
 is only a tiny aspect of what it does, the rest involves snapping to
 various different kinds of objects.


I have pushed my first commit. Rebasing my work causes merge
failures in three files (action.c, crosshair.c, fontmode.c).

I'll let you know if there's anything serious.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Recap of remaining metric-conversion work

2011-07-24 Thread Andrew Poelstra
On Sun, Jul 24, 2011 at 05:15:15PM +0100, Peter Clifton wrote:
 On Sun, 2011-07-24 at 18:37 -0700, Andrew Poelstra wrote:
 
  I have pushed my first commit. Rebasing my work causes merge
  failures in three files (action.c, crosshair.c, fontmode.c).
 
 Probably mostly just some fixes I made for compiler warnings. I am
 plodding away at refactoring the event coordinate conversion for the GTK
 HID though, and that could potentially conflict a bit.
 
 I'm trying to use the new types where applicable though - so I hope
 resolving the conflicts should just be a matter of checking whether I
 did anything stupid with my changes.


Looks good. Nearly all the conflicts were my changing LocationType
to Coord where you changed the variables themselves.

I did make one real change, though: I moved crosshair_sq_dist() to
SquareDistance() in misc.c, to be with the Distance() function.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB: Documentation for command-line options (unit-changes)

2011-07-24 Thread Andrew Poelstra
On Sun, Jul 24, 2011 at 10:00:08PM +0200, Felix Ruoff wrote:
 Hello everybody,
 
 I am actually working on Kai-Martins patch for the command-ine
 options he suggested in
 
 http://thread.gmane.org/gmane.comp.cad.geda.user/29944/focus=30083
 
 Its from April 2010, so there is some work to be done to fit it to the 
 present code-base. While doing this, I got two questions:
 - What is the actual unit for size-options like '--via-thickness', 
 '--line-thickness'? Is the unit for this setting still 1/100 mil? Or is it 
 possible to give this option with an unit like '--via-thickness 3 mm'? I have 
 in mind, that there were some changes during the last weeks, but I didn't 
 figure out the actual situation.
 - I realised that the default-value for '--via-thickness' is 
 MIL_TO_COORD(60), (line 487 of main.c) but in line 616 it will be set to 
 MIL_TO_COORD(40) if the given value is over or under a given limit. Is the 
 difference in this sizes done on purpose?


I don't think this size difference should be there. It sounds
like the default was changed at some point and whoever did it
forgot to change the out of range value.

We should use the CLAMP() macro to force min/max values rather
than ignoring out-of-range values, in my opinion.


As for units, there shouldn't really be a default unit. If no
unit is given, we will probably go with cmils for the sake of
backward compatibility. But we support giving units like

  --via-thickness 3mm

(no space) and that is what should be done.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Recap of remaining metric-conversion work

2011-07-23 Thread Andrew Poelstra
Hey all,

On a recent bug report, Peter C. asked for a summary of the
remaining work needed for the metric conversion. Here you go:


It has been a busy week for me so no progress in the last
eight days or so. Even so, it's been a long time since my
last update...

On my personal branch I have made a fair bit of progress
that has not been pushed. I don't want to publish these
changes yet because I'm still reordering and revising them.

Another reason not to push is that I have converted PCB.Grid
and Settings.Grid from double to Coord (an integer unit). This
causes -severe- rounding errors for people using metric grids
with cmil base units.

Anyway, here are the commits I have made but not pushed:

  1. Introduce Coord and Angle units, set a bunch of BDimension,
 LocationType and int variables in global.h to one of these.
 Convert pcb-printf to use these (including adding %ma spec
 to print angles).

  2. Convert grid units to Coord. Set mm/mil autodetect code to
 look for multiples of 127nm (see bug lp-811393), though I
 doubt this will work properly with cmil base units.

  3. Add scale-factor lookup functions to pcb-printf and make
 GetValue use this instead of its own table. Now there is
 only one table of units, in pcb-printf.c, and everything
 should be using it.

  4. Upgrade unit structures in pcb-printf. Now units have a
 real suffix that pcb uses internally and in file.c, and
 an internationalized copy of the same suffix.

 Also, there are 5 step values for GUI spinboxes to replace
 the mess of arbitrary mm/mil dependent steps used by Gtk.

 Finally, there is a new structure for the stuff in the
 Increments tab under Gtk preferences. There is no way to
 edit this. The Increments tab is still defunct (see bug
 lp-699464) and I have removed --grid-increment-mm, etc,
 from the command-line options.

  5, 6. Minor cleanups in main.c, gpcb-menu.res, that I missed
in my old unit-macro patches.

  7. Remove Settings.grid_unit_mm, support arbitrary units instead.
 The grid_units_mm flag is now emulated, along with the new
 grid_units_mil flag. This is so the GUI menu checkboxes still
 work.

 There is no visible change by this except that you can do
 SetUnits(in), say, with any unit supported in pcb-printf. No
 way to save this in file-format, though (see lp-811393 again).

 This is why I stuck default precision values, spinbox steps,
 increments, etc, in pcb-printf. The GUIs no longer assume the
 user will only use mm or mil. (They really have no clue what's
 in that pcb-printf table. In principle we could allow the user
 to introduce his own units to the table and it would work.)

 You can also use the command-line flag --grid-units. Pass this
 any supported suffix. --grid-units-mm does not work.

  8. Tell file.c to use %mr, make %mr only output unsuffixed cmils.
 This is because the %mc [cmil, no suffix] specifier internationalizes
 its output, whereas %mr is designed to be consistent.

  9. Audit undo.[ch], thermal.c, set.[ch], rubberband.c for proper
 unit handling, introduce Coord type.

  10. Update hid/gtk/gui-config.c to read new --grid-units command-line
  option. (Didn't realize this was necessary before.)


REMAINING WORK

In principle, just audits. The ones I have done so far have been quick
and easy, essentially just replacing LocationType/BDimension with Coord,
using Angle, using NormalizeAngle() and Distance() instead of repeating
code. Nothing deep.

I may even have been done by now except that when auditing search.c, I
found the arc-intersection problems that lead to a recent long thread
on this board. When I get a free moment (probably not till tomorrow) I
will just post a bug report and move on, fixing the unit handling
without fixing the actual algorithm.

I expect that aside from that, everything left will be easy. I just need
to spend some time and git'er'done.

After all the source has been audited, I can commit the small changes to
const.h that actually do the conversion. Then I'll push and you guys can
jump on me for all the bugs I've caused.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Recap of remaining metric-conversion work

2011-07-23 Thread Andrew Poelstra
On Sat, Jul 23, 2011 at 06:47:23PM +0100, Peter Clifton wrote:
 On Sat, 2011-07-23 at 19:38 -0700, Andrew Poelstra wrote:
  
  Anyway, here are the commits I have made but not pushed:
  
1. Introduce Coord and Angle units, set a bunch of BDimension,
   LocationType and int variables in global.h to one of these.
   Convert pcb-printf to use these (including adding %ma spec
   to print angles).
 
 Oops, I've just been playing with the grid snap code and no doubt
 introducing additional uses of LocationType which you will need to fix
 up.
 
 Any chance you could push this one ASAP, or does it cause regressions?


This causes no regressions, though if you are playing with grids
you may need commit #2 below, which does cause regressions.

In any case, I will push the first commit so that others will have
the Coord and Angle units for their work.
 
2. Convert grid units to Coord. Set mm/mil autodetect code to
   look for multiples of 127nm (see bug lp-811393), though I
   doubt this will work properly with cmil base units.
 
 Unlikely I would imagine.
 
3. Add scale-factor lookup functions to pcb-printf and make
   GetValue use this instead of its own table. Now there is
   only one table of units, in pcb-printf.c, and everything
   should be using it.
 
4. Upgrade unit structures in pcb-printf. Now units have a
   real suffix that pcb uses internally and in file.c, and
   an internationalized copy of the same suffix.
 
 Is there any use-case for I18N suffixes? I would imagine units are
 pretty much universal and language agnostic - unless you are spelling
 them out, e.g. mètre (French) vs. metre (English) /
 meter (American).
 

The Gtk GUI uses _(mm) and _(mil) in its current code. I
did not want to change this, so I internationalized all the units.

Whether there is any actual justification, I don't know.

  In principle, just audits. The ones I have done so far have been quick
  and easy, essentially just replacing LocationType/BDimension with Coord,
  using Angle, using NormalizeAngle() and Distance() instead of repeating
  code. Nothing deep.
  
  I may even have been done by now except that when auditing search.c, I
  found the arc-intersection problems that lead to a recent long thread
  on this board. When I get a free moment (probably not till tomorrow) I
  will just post a bug report and move on, fixing the unit handling
  without fixing the actual algorithm.
 
 Always *BLEEPING* arcs which cause grief. If you could describe a
 perfect circle with B-Splines, I would be up for killing the arc
 primitive and replacing it with something a little more robust (unique)
 in how it may be defined.
 

I think we need to convert stretched arcs to elliptical arcs internally
when reading files to avoid angle inconsistencies, and link in a proper
mathematical library to look for distances and intersections.

That would probably eliminate a lot of grief beyond this one problem.

But I also think that is a project for another day, unless we can find
a volunteer to work on it...

  I expect that aside from that, everything left will be easy. I just need
  to spend some time and git'er'done.
  
  After all the source has been audited, I can commit the small changes to
  const.h that actually do the conversion. Then I'll push and you guys can
  jump on me for all the bugs I've caused.
 
 I'm looking forward to opening my mm designs with a mm grid and not
 chasing lost of off-grid gremlins ;)


As am I :)
 
 Let me know if I can be of any help.
 

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB segfaults on click in netlist window

2011-07-19 Thread Andrew Poelstra
On Mon, Jul 18, 2011 at 01:04:10AM +0200, Kai-Martin Knaak wrote:
 Hi.
 With my current project PCB sefaults reproducably. It crashes when 
 I click on one of the node items on the right column of the netlist 
 window. Curiously, everything is fine if I click on the right column
 for the first time in a session. The cross hair jumps to where the 
 node happens to be on the canvas and everything looks fine. But when
 I try this trick again (with a different node), PCB segfaults 
 instantly. There is nothing on the command line except for the 
 string Segmentation fault.


Fixed in 0c2f7e77. 


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB segfaults on click in netlist window

2011-07-18 Thread Andrew Poelstra
On Mon, Jul 18, 2011 at 01:04:10AM +0200, Kai-Martin Knaak wrote:
 Hi.
 With my current project PCB sefaults reproducably. It crashes when 
 I click on one of the node items on the right column of the netlist 
 window. Curiously, everything is fine if I click on the right column
 for the first time in a session. The cross hair jumps to where the 
 node happens to be on the canvas and everything looks fine. But when
 I try this trick again (with a different node), PCB segfaults 
 instantly. There is nothing on the command line except for the 
 string Segmentation fault.
 
 It does not seem to matter, which node I choose.
 PCB from git-head shows the same behavior as v20100929 distributed by 
 debian/testing. I cannot reproduce with other layouts of mine, though.
 My current is bit larger than usual. Size of the layout is 2.4 MB.
 Probably larger than the list allows. I attached the netlist (53 kB)
 
 Anyone else seen this? Is this a known bug?


I can reproduce it with the netlist you attached (and the pcb
by the same name that you have posted on a few other bugs). I
haven't seen it before.

It happens consistently with 20100929 and git head. I'll look
into it. Please post it on the tracker.

If it is, as Ethan Swint suggests, the same as the invalid
free bug we saw a few weeks ago, this is great news.


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: PCB segfaults on click in netlist window

2011-07-18 Thread Andrew Poelstra
On Mon, Jul 18, 2011 at 01:04:10AM +0200, Kai-Martin Knaak wrote:
 Hi.
 With my current project PCB sefaults reproducably. It crashes when 
 I click on one of the node items on the right column of the netlist 
 window. Curiously, everything is fine if I click on the right column
 for the first time in a session. The cross hair jumps to where the 
 node happens to be on the canvas and everything looks fine. But when
 I try this trick again (with a different node), PCB segfaults 
 instantly. There is nothing on the command line except for the 
 string Segmentation fault.
 
 It does not seem to matter, which node I choose.
 PCB from git-head shows the same behavior as v20100929 distributed by 
 debian/testing. I cannot reproduce with other layouts of mine, though.
 My current is bit larger than usual. Size of the layout is 2.4 MB.
 Probably larger than the list allows. I attached the netlist (53 kB)
 
 Anyone else seen this? Is this a known bug?


It looks like our support for heirachical netlists is broken. When
looking up the selected net name in the list, pcb looks through all
named nets, expecting each to have an associated list of pins.

When it hits B/, which is not a net but a category, it gets a NULL
pointer for the pin-list and blithely dereferences it, hence the
crash. You can get the same result with the netlist

safenet C1-2
danger/dangernetC1-1

if you click around in the list.

The fix will be to restructure node_get_node_from_name() in
hid/gtk/gui-netlist-window.c, which does the offending lookup, to
recursively search the list rather than iteratively.


Interesting that no one has noticed this before...


-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb GL can't render stretched arcs

2011-07-15 Thread Andrew Poelstra

I am using the polar form of the ellipse given at:

http://en.wikipedia.org/wiki/Ellipse#Polar_form_relative_to_center

with theta the angle of the point we are checking. (Those cos
and sin calculations are easy, just delta-x/len and delta-y/len.)
With that I can calculate the distance from the point to an
ellipse.

Restricting this to an ellipse /segment/ is tricky, since as DJ
pointed out, these are not real elliptical arcs, but stretched
arcs, so the limiting angles do not correspond directly to actual
angles.

Adding explicit checks for distance from endpoints would give
us an almost-correct solution.

There are still pathologies I can think of with arcs whose
thickness (or thickness + search radius) is greater than the
minor axis, though..

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: pcb GL can't render stretched arcs

2011-07-15 Thread Andrew Poelstra
On Fri, Jul 15, 2011 at 09:45:42PM +0200, Karl Hammar wrote:
 Andrew Poelstra:
  I am using the polar form of the ellipse given at:
  
  http://en.wikipedia.org/wiki/Ellipse#Polar_form_relative_to_center
  
  with theta the angle of the point we are checking. (Those cos
  and sin calculations are easy, just delta-x/len and delta-y/len.)
  With that I can calculate the distance from the point to an
  ellipse.
 
 The shortest line from (x,y) to the ellipse goes through the normal to
 the ellipses perimeter.


Ohh... of course. Darn.
 
 The normal does not generally go through the middlepoint of the ellipse.
 It crosses the line between the center and the nearest focal point.
 
 What you get with the above polar calculation is a little bigger value
 than the true distance, but it could serve as a first aproximation.
 You could take the minimum of the polar form through the center and
 through the focus, to get a better value.
 
 How accurate an value do we need, would minimum of ±5% and ±0.1mm
 be ok ?
 

I suspect that determining an error bound on my method would be
just as difficult (mathematically) as finding a different method.

There is a fairly informative discussion of this problem on SO:
http://stackoverflow.com/questions/2945337/how-to-detect-if-an-ellipse-intersectscollides-with-a-circle

The correct methods given there generally require root-solvers,
and I don't think we have one right now. We could throw one
together or introduce a dependency on, say, the GNU Scientific
Library.

Since we rarely care about the exact distance, only is it between
0 and Radius it is probable that we could use a bisection method
with very few iterations to get an answer.

  Restricting this to an ellipse /segment/ is tricky, since as DJ
  pointed out, these are not real elliptical arcs, but stretched
  arcs, so the limiting angles do not correspond directly to actual
  angles.
 ...
 
 Isn't that a bug to be fixed instead?


It's a design flaw, but fixing it would break existing designs.

-- 
Andrew Poelstra
Email: asp11 at sfu.ca OR apoelstra at wpsoftware.net
Web:   http://www.wpsoftware.net/andrew/



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


  1   2   3   >