Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-19 Thread Steven Michalske





On Mar 19, 2011, at 2:38 PM, Stefan Salewski  wrote:

> On Sat, 2011-03-19 at 13:14 -0700, Steven Michalske wrote:
> 
>>> Scroll wheel: rotate selection or element under mouse pointer
>>> If nothing is selected and mouse pointer is over unpopulated area
>>> or SHIFT modifier is used: Zoom in/out
>>> 
>> Track pad users may want scroll to be scrolling
>> 
> 
> So we should have an option to ignore the scroll wheel for rotate/zoom.
> Of course for zooming we should have additional keyboard and button
> support. And for zooming into a selection rectangle I currently consider
> using the middle mouse button. For rotating elements again we will have
> keyboard and button support -- but I think using the scroll wheel would
> be really fun, i.e for rotating text.  
> 
>> If your toolkit allows for the apple trackpad gestures...  That could
>> add a few options into the mix
> 
> PCB or gschem, one of them, has gesture support by a library -- once I
> have asked on this list about it, but it seem that nobody uses that. I
> have currently no idea about gestures, so I do not intend supporting it
> now. 
> 
>> 
>> In net mode double left click ends the current net.
>> 
> 
> Yes -- not a true double click (in a small time interval) but simple
> adding a net segment of length 0. As supported by gschem. ESC and maybe
> another key will also end net segments.
> 
>> 
>>> LMBD + LMBU over hot pin end: start new net segment
>> 
>> You added net end, but starting at the middle of a net segment is
>> valuable too.
>>> 
> 
> Yes, but grabbing an element in the middle is used generally for moving
> or selecting, so we may have a conflict. We may try to resolve it, or
> have a "Start new net" button for that case.
> 
> I consider a "only onces" mode beside real modal operation: For example,
> it may occur that we intend only a single mirror operation without
> leaving the current mode (comming back after one mirror operation) or we
> want a real mirror mode, where each click on an element will mirror that
> one. My current idea: If an element is selected/highlighted then
> "mirror" button or key will mirror that selected element. If noting is
> selected, then we will enter a permanent mirror mode.
> 
> Additional, I will support highlight of elements, when the mouse pointer
> is hovering over it. Current highlight method is making colors brighter,
> move the element a few pixel to upper right, and draw a shadow,
> generating the impression of lifting the elements. Problem: We can not
> use white (pin) color, because there is no brighter shade of white, and
> shadow works not good for dark backgrounds. Of course we can always use
> fallback to a plain monochrome highlight color. Another method is
> drawing highlighted elements with thicker lines -- I have not tested
> that yet.

Make shadow a glow on dark backgrounds


> 
> Best regards,
> 
> Stefan Salewski
> 
> 
> 
> 
> 
> ___
> geda-user mailing list
> geda-user@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-19 Thread Stefan Salewski
On Sat, 2011-03-19 at 13:14 -0700, Steven Michalske wrote:

> > Scroll wheel: rotate selection or element under mouse pointer
> >  If nothing is selected and mouse pointer is over unpopulated area
> >  or SHIFT modifier is used: Zoom in/out
> > 
> Track pad users may want scroll to be scrolling
> 

So we should have an option to ignore the scroll wheel for rotate/zoom.
Of course for zooming we should have additional keyboard and button
support. And for zooming into a selection rectangle I currently consider
using the middle mouse button. For rotating elements again we will have
keyboard and button support -- but I think using the scroll wheel would
be really fun, i.e for rotating text.  

> If your toolkit allows for the apple trackpad gestures...  That could
> add a few options into the mix

PCB or gschem, one of them, has gesture support by a library -- once I
have asked on this list about it, but it seem that nobody uses that. I
have currently no idea about gestures, so I do not intend supporting it
now. 

> 
> In net mode double left click ends the current net.
> 

Yes -- not a true double click (in a small time interval) but simple
adding a net segment of length 0. As supported by gschem. ESC and maybe
another key will also end net segments.

> 
> > LMBD + LMBU over hot pin end: start new net segment
> 
> You added net end, but starting at the middle of a net segment is
> valuable too.
> > 

Yes, but grabbing an element in the middle is used generally for moving
or selecting, so we may have a conflict. We may try to resolve it, or
have a "Start new net" button for that case.

I consider a "only onces" mode beside real modal operation: For example,
it may occur that we intend only a single mirror operation without
leaving the current mode (comming back after one mirror operation) or we
want a real mirror mode, where each click on an element will mirror that
one. My current idea: If an element is selected/highlighted then
"mirror" button or key will mirror that selected element. If noting is
selected, then we will enter a permanent mirror mode.

Additional, I will support highlight of elements, when the mouse pointer
is hovering over it. Current highlight method is making colors brighter,
move the element a few pixel to upper right, and draw a shadow,
generating the impression of lifting the elements. Problem: We can not
use white (pin) color, because there is no brighter shade of white, and
shadow works not good for dark backgrounds. Of course we can always use
fallback to a plain monochrome highlight color. Another method is
drawing highlighted elements with thicker lines -- I have not tested
that yet.

Best regards,

Stefan Salewski





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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-19 Thread Steven Michalske





On Mar 18, 2011, at 4:41 PM, Stefan Salewski  wrote:

> On Fri, 2011-03-18 at 19:17 -0400, DJ Delorie wrote:
>>> shift-leftclick on object
>> 
>> Don't forget about select-region, select-touching,
>> select-touching-line, etc.
>> 
> 
> I guess that is not too common in schematics?
> 
> Here is my current draft for my gschem clone:
> 
> Peted intended user interface behaviour -- first draft
> --
> 
> LMBD: Left mouse button down (press) action
> LMBU: Left mouse button up (release) action
> MMBD: Middle mouse button down (press) action
> MMBU: Middle mouse button up (release) action
> RMBD: Right mouse button down (press) action
> 
> 
> Our intention is to have a smart AUTO mode which will allow to do the
> most common actions fast with minimal effort (beside traditional special 
> modes like
> "Move", "Net", "Erase", "Line", "Arc", "Text", ...) 
> 
> 
> These action include: Select, move, copy, delete, rotate, start new net.
> 
> LMBD over element: Start moving element, LMBU will terminate action, element 
> is unselected
> LMBD + LMBU over element (no motion): select element, unselect all other
> SHIFT + LMBD + LMBU over element: add element to selection
> CTRL + LMBD + LMBU over element: toggle element, leave other unchanged
> LMBD over unpopulated area: start selection rectangle
>  No modilier: elements in rectangle will become selected, other unselected
>  SHIFT modifier: add elements in rectangle to selection, other unchanged
>  CTRL modifier: toggle state of elements in rectangle, other unchanged
> MMBD: put a copy of selected element(s) to position of mouse pointer
>  special case: MMBD over selected element: detete it
>  if nothing is selected or SHIFT modifier is used: panning
> RMBD: Context sensitive menu open
> 
> Scroll wheel: rotate selection or element under mouse pointer
>  If nothing is selected and mouse pointer is over unpopulated area
>  or SHIFT modifier is used: Zoom in/out
> 
Track pad users may want scroll to be scrolling

So consider that,  although I rarely edit layouts by trackpad there are times 
that I do and hate zooming in and out.  But when using a mouse I do want zoom 
in and out on the scroll wheel.

If your toolkit allows for the apple trackpad gestures...  That could add a few 
options into the mix



In net mode double left click ends the current net.


> LMBD + LMBU over hot pin end: start new net segment

You added net end, but starting at the middle of a net segment is valuable too.
> 
> Missing: Zoom into rectangle
> 
> For element properties we will not use a popup window opened by double click, 
> but a
> separate area at the left or right of the main window. Properties of selected 
> elements
> are displayed in this area and can be modified. This area can be used for 
> various other
> purposes, i.e. symbol library preview, color selections, ...It should be 
> possible to fully
> shrink this area. 
> 
> At the bottom of the main window we may have an area for log messages.
> 
> We should try to allow multiple instances of our GUI window, showing 
> different or the same
> content. For the last case, we can display an overview in one window, while 
> we work on details
> in a different window, maybe both windows can reside on different monitors. 
> Of course it should
> be possible to use only one window, and switch between different content.
> 
> Have I forgotten common important actions?
> 
> 
> 
> 
> ___
> geda-user mailing list
> geda-user@moria.seul.org
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Stefan Salewski
On Sat, 2011-03-19 at 00:41 +0100, Stefan Salewski wrote:

> 
> LMBD + LMBU over hot pin end: start new net segment
> 

I mean:

LMBD + LMBU over hot pin end or existing net end: start new net segment

For starting a new net segment from void area we will have to activate
net mode.





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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread DJ Delorie

> Of course I will support selection with a rectangular bounding
> box. Does your "select-region" mean an arbitrary shaped area?

No, I mean select rectangle.


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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Stefan Salewski
On Fri, 2011-03-18 at 19:47 -0400, DJ Delorie wrote:
> > > Don't forget about select-region, select-touching,
> > > select-touching-line, etc.
> > 
> > I guess that is not too common in schematics?
> 
> select-region is *very* common.
> 

Of course I will support selection with a rectangular bounding box. Does
your "select-region" mean an arbitrary shaped area?

> select-touching-line would be really handy to select a group of angled
> lines, without selecting the non-angled lines they're connected to.
> Basically, you draw a line with the select tool, and anything that
> line touches is selected.
> 

Sure, this is a MODE we can implement -- currently I consider the most
common actions, which should be accessible very easy, in best case only
with the mouse, or with mouse and a modifier key. My goal is to prevent
many mode switches.




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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread DJ Delorie

> > Don't forget about select-region, select-touching,
> > select-touching-line, etc.
> 
> I guess that is not too common in schematics?

select-region is *very* common.

select-touching-line would be really handy to select a group of angled
lines, without selecting the non-angled lines they're connected to.
Basically, you draw a line with the select tool, and anything that
line touches is selected.


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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Stefan Salewski
On Fri, 2011-03-18 at 19:17 -0400, DJ Delorie wrote:
> > shift-leftclick on object
> 
> Don't forget about select-region, select-touching,
> select-touching-line, etc.
> 

I guess that is not too common in schematics?

Here is my current draft for my gschem clone:

Peted intended user interface behaviour -- first draft
--

LMBD: Left mouse button down (press) action
LMBU: Left mouse button up (release) action
MMBD: Middle mouse button down (press) action
MMBU: Middle mouse button up (release) action
RMBD: Right mouse button down (press) action


Our intention is to have a smart AUTO mode which will allow to do the
most common actions fast with minimal effort (beside traditional special modes 
like
"Move", "Net", "Erase", "Line", "Arc", "Text", ...) 


These action include: Select, move, copy, delete, rotate, start new net.

LMBD over element: Start moving element, LMBU will terminate action, element is 
unselected
LMBD + LMBU over element (no motion): select element, unselect all other
SHIFT + LMBD + LMBU over element: add element to selection
CTRL + LMBD + LMBU over element: toggle element, leave other unchanged
LMBD over unpopulated area: start selection rectangle
  No modilier: elements in rectangle will become selected, other unselected
  SHIFT modifier: add elements in rectangle to selection, other unchanged
  CTRL modifier: toggle state of elements in rectangle, other unchanged
MMBD: put a copy of selected element(s) to position of mouse pointer
  special case: MMBD over selected element: detete it
  if nothing is selected or SHIFT modifier is used: panning
RMBD: Context sensitive menu open

Scroll wheel: rotate selection or element under mouse pointer
  If nothing is selected and mouse pointer is over unpopulated area
  or SHIFT modifier is used: Zoom in/out

LMBD + LMBU over hot pin end: start new net segment

Missing: Zoom into rectangle

For element properties we will not use a popup window opened by double click, 
but a
separate area at the left or right of the main window. Properties of selected 
elements
are displayed in this area and can be modified. This area can be used for 
various other
purposes, i.e. symbol library preview, color selections, ...It should be 
possible to fully
shrink this area. 

At the bottom of the main window we may have an area for log messages.

We should try to allow multiple instances of our GUI window, showing different 
or the same
content. For the last case, we can display an overview in one window, while we 
work on details
in a different window, maybe both windows can reside on different monitors. Of 
course it should
be possible to use only one window, and switch between different content.

Have I forgotten common important actions?




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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread DJ Delorie

> shift-leftclick on object

Don't forget about select-region, select-touching,
select-touching-line, etc.


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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Kai-Martin Knaak
Stefan Salewski wrote:

> Is there a guide how multi-select should work for tools like PCB and
> gschem? I have done a short google search and some test with PCB and
> gschem, but I am not really sure that I fully grab it.
> 
> I think we should have these actions:
> Select

leftclick on object or left_mouse_lasso


> Add_To_Selection

shift-leftclick on object


> Subtract_From_Selection

leftclick on selected object


> Toggle
 
IMHO, not implemented in PCB.
In gschem it is control-left_mouse_lasso


---<)kaimartin(>---

-- 
Kai-Martin Knaak
Email: k...@familieknaak.de
Öffentlicher PGP-Schlüssel:
http://pool.sks-keyservers.net:11371/pks/lookup?search=0x6C0B9F53



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


Re: gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Stefan Salewski
On Fri, 2011-03-18 at 17:26 +0100, Stefan Salewski wrote:
> Is there a guide how multi-select should work for tools like PCB and
> gschem?

OK, found the gnome guide -- have too read it: 

http://library.gnome.org/devel/hig-book/2.32/hig-book.html

http://library.gnome.org/devel/hig-book/2.32/hig-book.html#input-mouse



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


gEDA-user: Multi-Select with SHIFT, CTRL...

2011-03-18 Thread Stefan Salewski
Is there a guide how multi-select should work for tools like PCB and
gschem? I have done a short google search and some test with PCB and
gschem, but I am not really sure that I fully grab it.

I think we should have these actions:
Select
Add_To_Selection
Subtract_From_Selection
Toggle

I think we are free to use SHIFT and CTRL modifiers for left mouse
button.

Each for element under mouse pointer or in selection rectangle.

And yes, I continue working on my Ruby gschem clone, from time to time.
It is some labor, but I think it is worth the effort.

Best regards,

Stefan Salewski




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