www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/10/03/19:02:39

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=WvGrrAO7kl0Y59bVSCyOadH/jtYwFLrvh9CZukJhWWw=;
b=Q0sp3dedrhFr4vN/WkrrD16FptykChAp4MI8WaDKNPda5oSb4eaTqlh/xM56CUZ3q+
C4z3zuZeO4UGS9PwXhF3eHqhjWYvZFIqoyInTV88vmW+eq7r5TXnjskPugRmIKW3FPmW
bNHttUKOjgM1vYPdzYQfOBjW/9fCCAcgIDGmSFhOzFH2fowSE5var0Ph90gMpeBgT2S1
rgR0oLrnjWlsKtNqzUq7+EwPcv7JAh7JaQ9LrAo27X2x4auPNNqZ0P/anQMKfwqGjtM7
MJzvtZSFxXxYuOY9f71Bd1FARF7pHEjtpLWY06ihyhl2PEJBE1NL6X5CcMwfsGMUJ1DC
FX1A==
MIME-Version: 1.0
X-Received: by 10.180.85.164 with SMTP id i4mr4409698wiz.54.1443913345318;
Sat, 03 Oct 2015 16:02:25 -0700 (PDT)
In-Reply-To: <56100AF8.4090802@jump-ing.de>
References: <56100AF8 DOT 4090802 AT jump-ing DOT de>
Date: Sat, 3 Oct 2015 15:02:25 -0800
Message-ID: <CAC4O8c_9ZUsGCP4qTCtFS3+cYXXwqFvQTrGAR5qc38ZwsV8L7A@mail.gmail.com>
Subject: Re: [geda-user] Clutterless user interface or even more custom
special super features?
From: "Britton Kerin (britton DOT kerin AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--f46d0445182f08c65805213b4680
Content-Type: text/plain; charset=UTF-8

On Sat, Oct 3, 2015 at 9:06 AM, Markus Hitter (mah AT jump-ing DOT de) [via
geda-user AT delorie DOT com] <geda-user AT delorie DOT com> wrote:

>
> gEDAers,
>
> while investigating bug 1018103 ...
>
> https://bugs.launchpad.net/geda-project/+bug/1018103
>
> ... I learned that there are no less than three special modes for
> ignoring text, hiding text and/or ignoring anything but text exist. The
> bug is a crashing one, hitting Undo takes the whole application with it,
> data lost.
>
> To me this bug is a typical example of what happens when custom
> behaviour is stacked on other custom behaviour, stacked on even more
> custom behaviour: each custom mode has to take into account every other
> custom mode, complexity of code explodes. Well, code explodes, or the
> application explodes at runtime, when a non-working combination of these
> features is hit.
>
> Hide names mode is documented as following (action.c, line 2586):
>
> > If set, only text will be sensitive for mouse clicks and actions
> > that work on objects under the mouse. You can still select other
> > objects with a lasso (left mouse drag) and perform actions on the
> > selection.
>
> The problem here is that despite anything but text is ignored, drawing
> lines is still allowed.
>
>
> I can see four solutions:
>
> 1. Add a lot more special case search code to check not only for mode
> flags like ONLYNAMESFLAG, but also under which conditions this search
> happens. This easily makes one special case for every other case. 3
> names modes x 12 drawing modes = 36 cases.
>
> 2. Disable modes like track drawing mode while in names only mode. This
> would be the advertised behaviour. Also a lot of code and on top of
> this, unexpected user behaviour ("I can't draw tracks anymore and I
> don't know why").
>
> 3. Try to make Undo() independent from this query. It's "undo last
> operation", after all, not "undo the object under the crosshair".
>
> 4. Remove these special modes. That'd be LOCKNAMESFLAG, HIDENAMESFLAG
> and ONLYNAMESFLAG. Chances are good they're barely known anyways and
> modal behaviour is usually considered to be bad for an intuitive user
> interface. It should certainly be possible to prefer or avoid text by
> the standard means (hiding or activating the corresponding layers).
>

I've never used these and wasn't aware of them, and you make a good case
for just removing them.
I'm not sure what you mean by 3 or why its needed once the modes are gone.

--f46d0445182f08c65805213b4680
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Sat, Oct 3, 2015 at 9:06 AM, Markus Hitter (<a href=3D"mailto:mah AT ju=
mp-ing.de">mah AT jump-ing DOT de</a>) [via <a href=3D"mailto:geda-user AT delorie DOT co=
m">geda-user AT delorie DOT com</a>] <span dir=3D"ltr">&lt;<a href=3D"mailto:geda-=
user AT delorie DOT com" target=3D"_blank">geda-user AT delorie DOT com</a>&gt;</span> wr=
ote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
-left:1px #ccc solid;padding-left:1ex"><br>
gEDAers,<br>
<br>
while investigating bug 1018103 ...<br>
<br>
<a href=3D"https://bugs.launchpad.net/geda-project/+bug/1018103" rel=3D"nor=
eferrer" target=3D"_blank">https://bugs.launchpad.net/geda-project/+bug/101=
8103</a><br>
<br>
... I learned that there are no less than three special modes for<br>
ignoring text, hiding text and/or ignoring anything but text exist. The<br>
bug is a crashing one, hitting Undo takes the whole application with it,<br=
>
data lost.<br>
<br>
To me this bug is a typical example of what happens when custom<br>
behaviour is stacked on other custom behaviour, stacked on even more<br>
custom behaviour: each custom mode has to take into account every other<br>
custom mode, complexity of code explodes. Well, code explodes, or the<br>
application explodes at runtime, when a non-working combination of these<br=
>
features is hit.<br>
<br>
Hide names mode is documented as following (action.c, line 2586):<br>
<br>
&gt; If set, only text will be sensitive for mouse clicks and actions<br>
&gt; that work on objects under the mouse. You can still select other<br>
&gt; objects with a lasso (left mouse drag) and perform actions on the<br>
&gt; selection.<br>
<br>
The problem here is that despite anything but text is ignored, drawing<br>
lines is still allowed.<br>
<br>
<br>
I can see four solutions:<br>
<br>
1. Add a lot more special case search code to check not only for mode<br>
flags like ONLYNAMESFLAG, but also under which conditions this search<br>
happens. This easily makes one special case for every other case. 3<br>
names modes x 12 drawing modes =3D 36 cases.<br>
<br>
2. Disable modes like track drawing mode while in names only mode. This<br>
would be the advertised behaviour. Also a lot of code and on top of<br>
this, unexpected user behaviour (&quot;I can&#39;t draw tracks anymore and =
I<br>
don&#39;t know why&quot;).<br>
<br>
3. Try to make Undo() independent from this query. It&#39;s &quot;undo last=
<br>
operation&quot;, after all, not &quot;undo the object under the crosshair&q=
uot;.<br>
<br>
4. Remove these special modes. That&#39;d be LOCKNAMESFLAG, HIDENAMESFLAG<b=
r>
and ONLYNAMESFLAG. Chances are good they&#39;re barely known anyways and<br=
>
modal behaviour is usually considered to be bad for an intuitive user<br>
interface. It should certainly be possible to prefer or avoid text by<br>
the standard means (hiding or activating the corresponding layers).<br></bl=
ockquote><div><br></div><div style=3D"">I&#39;ve never used these and wasn&=
#39;t aware of them, and you make a good case for just removing them.</div>=
<div style=3D"">I&#39;m not sure what you mean by 3 or why its needed once =
the modes are gone.</div></div></div></div>

--f46d0445182f08c65805213b4680--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019