Page 7 of 9

Re: issue-#100 Controls documentation

Posted: Tue Jul 26, 2016 9:02 pm
by DGDanforth
Josef Templ wrote:Even in an unrestricted Redmine this would be the same issue.
OK.
So we can vote on an issue multiple times?
Each time (on success) updating the master?
-Doug

Re: issue-#100 Controls documentation

Posted: Tue Jul 26, 2016 9:48 pm
by DGDanforth
I deleted my issue-#100 files and recloned issue-#100.
I then modified System/Docu/Controls.odc to include the phrase "(also called a command button)".
I cleaned up the offending sentence.
I then did a Commit with
[x] amend previous message (with new message including Refs: issue-#100.)
[x] message only
Added by ... button pushed.
That worked.
I then tried to do a push which was rejected (why?). Here is the message
git.exe push --progress "origin" issue-#100:issue-#100

To https://github.com/BlackBoxCenter/blackbox.git
! [rejected] issue-#100 -> issue-#100 (non-fast-forward)
error: failed to push some refs to 'https://github.com/BlackBoxCenter/blackbox.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
o I don't know anything about fast-forwards
o I made sure I had done a fresh clone before modifications... ah! they say "pull" not "clone" (grumble).
o Do I dare now do a pull or have I messed things up already?

What is the difference between a "clone" and a "pull"?
I thought a pull simply updated those files which had changed relative to my clone directory.
It seems it is more than that having to do with "tip" (whatever that is).

-Doug

Re: issue-#100 Controls documentation

Posted: Tue Jul 26, 2016 10:24 pm
by Ivan Denisov
I really do not think, that we should continue this bad practice of force pushing!
Doug, please, simply make a clone, then put fixed files and commit changes without amending last message and then just push.
Do not include "issue" in commit message. Just "... Refs: #100."

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 12:48 am
by DGDanforth
Ivan,
That worked.
Here are the Diffs from the last push
http://redmine.blackboxframework.org/pr ... 4b36/diff/
-Doug

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 5:23 am
by Josef Templ
Very good.
There is still the point with the parameterless procedure pointed out by Robert.
A possible solution would be to refer to Dialog.Call or to StdInterpreter such as:

... an exported procedure that can be called with Dialog.Call. For details see docu of Dialog.Call and StdInterpreter.

- Josef

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 7:21 am
by DGDanforth
Josef Templ wrote:Very good.
There is still the point with the parameterless procedure pointed out by Robert.
A possible solution would be to refer to Dialog.Call or to StdInterpreter such as:

... an exported procedure that can be called with Dialog.Call. For details see docu of Dialog.Call and StdInterpreter.

- Josef
2 - It is wrong. Command Buttons, as they were called, can be linked to other procedures than just parameterless Commands. For clarity some rewording in necessary. (And is parameterless a word?)
Pressing a push button (also called a command button) invokes a parameterless exported Component Pascal procedure. It can be either a constant (a normal procedure) or a procedure variable.
How about
"Pressing a push button (also called a command button) executes an exported command (a procedure without parameters). It can be either a constant (a normal procedure) or a procedure variable."

I think referring to "Dialog.Call or to StdInterpreter " diverts the reader too far from the essence of a push button. Pushing the button executes a command.
Is there any other type that can be linked to a button? Robert's comment seems to suggest so.

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 7:39 am
by Josef Templ
Yes there is another type that can be linked.
It is a procedure WITH parameters as opposed to a procedure without parameters.

But NOT ALL procedures with parameters are supported. The subset of legal procedure calls
is described in StdInterpreter. This is important information.
There is no other way to find out what is legal and what is not.

I don't care much about the detailed wording but there should be some hint that
SOME procedures WITH parameters are supported in addition to parameterless procedures
and a hint where to find the details of the supported subset.

- Josef

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 7:48 am
by DGDanforth
Josef Templ wrote:Yes there is another type that can be linked.
It is a procedure WITH parameters as opposed to a procedure without parameters.

But NOT ALL procedures with parameters are supported. The subset of legal procedure calls
is described in StdInterpreter. This is important information.
There is no other way to find out what is legal and what is not.

I don't care much about the detailed wording but there should be some hint that
SOME procedures WITH parameters are supported in addition to parameterless procedures
and a hint where to find the details of the supported subset.

- Josef
Very interesting. I was unaware of StdInterpreter. OK so we do need to include reference to those special types of procedures with parameters.
Working ...

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 7:54 am
by Josef Templ
you have probably seen it in the menus.
It is the same machinery.

Actually it is also possible to have a sequence of procedure calls.
This is actually a limited form of scripting and all that is described in StdInterpreter.
There the top-level construct is called a 'command' which is a sequence of calls,
and a call is a qualified procedure with optional params etc.

- Josef

Re: issue-#100 Controls documentation

Posted: Wed Jul 27, 2016 7:59 am
by DGDanforth
How about this
Pressing a push button (also called a command button) invokes an exported Component Pascal procedure. It can be either a constant (a normal procedure) or a procedure variable. The procedure usually has no parameters (a command). But there is a class of procedures with parameters that can also be linked to the push button. Those procedure types are discussed in the documentation of StdInterpreter.
-Doug