issue-#100 Controls documentation

User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post 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
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post 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
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: issue-#100 Controls documentation

Post 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."
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post by DGDanforth »

Ivan,
That worked.
Here are the Diffs from the last push
http://redmine.blackboxframework.org/pr ... 4b36/diff/
-Doug
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#100 Controls documentation

Post 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
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post 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.
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#100 Controls documentation

Post 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
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post 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 ...
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#100 Controls documentation

Post 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
User avatar
DGDanforth
Posts: 1061
Joined: Tue Sep 17, 2013 1:16 am
Location: Palo Alto, California, USA
Contact:

Re: issue-#100 Controls documentation

Post 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
Post Reply