Page 7 of 7

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Tue Jul 04, 2017 12:39 pm
by Robert
Josef Templ wrote:@1: it is not possible to link to a CHAR, only ARRAY OF CHAR works.
Of course, I had forgotten that (I use CtlsSliders.NewCharField from the CPC site).

I think this is now ready for voting.

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Wed Aug 30, 2017 4:05 am
by Ivan Denisov
I am adopting some of Center features for Obertone Freenix version of BlackBox.

Importing HostPorts to Text subsystem is bad idea. It breaks hermeticity of Text subsystem.

Better use Ctrl key in Track procedure.

Code: Select all

               modify := Controllers.modify IN msg.modifiers;
               GrabMark(m, r, f, msg.x, msg.y, ~modify);
               IF (m.kind = tabs) & modify THEN
I adopted this feature that way.

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Wed Aug 30, 2017 10:15 am
by Josef Templ
Ivan Denisov wrote:I am adopting some of Center features for Obertone Freenix version of BlackBox.

Importing HostPorts to Text subsystem is bad idea. It breaks hermeticity of Text subsystem.

Better use Ctrl key in Track procedure.
Ivan, In principle I agree that importing HostPorts in TextRulers should be avoided
but I didn't find a better solution.

The problem with your approach is that it changes existing behavior.
Both, extend and modify, are already used for tabs.

HostPorts.right is also used in DevDependencies. It is the same problem there.
Replacing HostPorts.right by the constant 18 would be even worse, obviously.

A clean solution would require to add another high-level modifier for mouse-right clicks to Controllers.TrackMsg.modifiers.
Something like 'context' (or 'menu' or 'properties' or 'popup') because mouse-right is usually used for opening a context menu of an object in the Windows GUI.
A simple and 'compatible by construction' approach would be to use the constant 18 (HostPorts.right) for that new modifier.
This effectively raises the platform specific concept of a mouse-right click to a high-level concept.
The ugly point here is that until now the platform specific modifiers are >= 16 (by convention) and this no longer holds then.
A cleaner approach therefore would be to add a new constant (e.g. context = 3) that is included in modifiers together with
the platform specific value HostPorts.right. I don't know if this causes any incompatibilities in existing mouse tracking procedures
but probably it will work without any problems.

I have put together an experimental clean version in issue-#163. Eventually, it will deserve a new issue because it also affects DevDependencies.
See diffs at https://redmine.blackboxframework.org/p ... 982824bd7b.

- Josef

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Sep 03, 2017 7:21 am
by Ivan Denisov
Josef Templ wrote:
Ivan Denisov wrote:I am adopting some of Center features for Obertone Freenix version of BlackBox.

Importing HostPorts to Text subsystem is bad idea. It breaks hermeticity of Text subsystem.

Better use Ctrl key in Track procedure.
Ivan, In principle I agree that importing HostPorts in TextRulers should be avoided
but I didn't find a better solution.

The problem with your approach is that it changes existing behavior.
Both, extend and modify, are already used for tabs.
Ctrl was used to add vertical line. Now it is also can be used to add vertical lines with new dialog window. So there is not much inconvenience in that change.

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Sep 03, 2017 7:26 am
by Ivan Denisov
Josef Templ wrote: A clean solution would require to add another high-level modifier for mouse-right clicks to Controllers.TrackMsg.modifiers.
Something like 'context' (or 'menu' or 'properties' or 'popup') because mouse-right is usually used for opening a context menu of an object in the Windows GUI.
A simple and 'compatible by construction' approach would be to use the constant 18 (HostPorts.right) for that new modifier.
This effectively raises the platform specific concept of a mouse-right click to a high-level concept.
The ugly point here is that until now the platform specific modifiers are >= 16 (by convention) and this no longer holds then.
A cleaner approach therefore would be to add a new constant (e.g. context = 3) that is included in modifiers together with
the platform specific value HostPorts.right. I don't know if this causes any incompatibilities in existing mouse tracking procedures
but probably it will work without any problems.
I like this idea, because initially (I guess) BlackBox was aimed for mac with only one mouse button. So there is lack of basic controls states. The "context" can help in many cases.

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Sep 03, 2017 9:24 am
by Josef Templ
Ivan Denisov wrote: I like this idea, because... The "context" can help in many cases.
Right. It solves, for example, the same problem in DevDependencies.
Maybe there are more examples in CPC packages.

When I added the decimal tabs I actually thought about this option but was afraid to make too many changes.
Now it turned out to be a surprisingly simple change and so far I have not observed any incompatibilities.

- Josef

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Sep 03, 2017 2:23 pm
by Robert
Josef Templ wrote:A clean solution would require to add another high-level modifier for mouse-right clicks to Controllers.TrackMsg.modifiers.
Something like 'context' (or 'menu' or 'properties' or 'popup') because mouse-right is usually used for opening a context menu of an object in the Windows GUI.
This sounds like the start of a good solution, but, for me, the main part of a clean solution is to improve the Docus.

As a Windows user I am familiar with the ideas: Left-mouse-click, centre-mouse-click, right-mouse-click, Shift-key, Ctrl-key, & Alt-key. However how they map onto the BlackBox implementation and documentation (eg modify & extend, and now context) is not intuitive or documented accessibly.

Text/Docu/User-Man talks about ctl& alt keys (see sections 4 & 7) with no immediate mapping to the ideas modify & extend.

The mapping is given in System/Docu/Controllers, but not as clearly as I would like. I can't find this platform specific mapping in the PSI document. I thought it was mentioned in some higher level user manuals, but can't find it now.

I would like to see a clear table giving the full mapping (for Windows, and any other platforms where it makes sense). This table could be in one place, with links to it from other places where these ideas are currently mentioned.

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Sep 03, 2017 9:27 pm
by Josef Templ
Robert wrote: The mapping is given in System/Docu/Controllers, but not as clearly as I would like. I can't find this platform specific mapping in the PSI document. I thought it was mentioned in some higher level user manuals, but can't find it now.

I would like to see a clear table giving the full mapping (for Windows, and any other platforms where it makes sense). This table could be in one place, with links to it from other places where these ideas are currently mentioned.
The platform mapping should be added to the P-S-I document, I think.

I don't know how the ALT-key is currently handled. This seems to be more tricky than shift and ctrl.
It is strange that the ALT-key is mentioned in the docu as if it were a high-level modifier.

- Josef

Re: issue-#163 Adding 'Decimal' Tabs to Rulers

Posted: Sun Oct 15, 2017 10:06 am
by Josef Templ
I have now renamed the docu file to Tab-Dialog as discussed for issue-#175.

The diffs at https://redmine.blackboxframework.org/p ... 3b568ee07a shows the renaming but not the changes required for referencing this file. There are two such references, viz. Help button in the dialog and Text/Docu/User-Man.
They have been changed accordingly.

Remark: One more such renamings would be required for issue-#105 of BB 1.7 where the Preferences Help text has been added.
Host/Docu/Prefs needs to be renamed to Prefs-Dialog.

- Josef