Developing Methods: Creating Scrolling groups larger than screen rect

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
Workin in 9.0.0 DP9 now. Old issues of editing groups seems to have gotten worse. selections lines around objects continue to appear even if you have select a different object, now the selection dashed lines remain on the previously selected object and it's as if we shift selected two object, but no, there is only 1 selected. when in group editing mode copy and paste object, the objects are pasted outside the group on the top layers of the card instead of in the group itself…

At any rate… working with it…

But I have a bigger question… How do you mobile pro develop scrolling groups either vertical sliders or horizontal sliders, which are, but their very nature, wider than the screen, or taller than the screen?

e.g. if you have a group that is 1200 px tall and the card is 736h. and you want to add objects to the bottom of the group, how do you go about it? If  you set the scroll of the group to some big number like 1200… it will only scroll up to the bottom of the group (seems odd to me)  you don't get any extra space below the last item. so if you go to edit at that point, the group has no room below. one could temporarily increase the height of the stack, but if you have controls on the bottom that may not work well. and besides, you will run out of screen space anyway.

I can set the top of the group to -500, now we have room on the screen below the last rows of the group. but the IDE will not allow you to drag out the height of the group to make more room for more objects. If I try to edit the group, I can select and copy the objects in the last row, as noted above, they are pasted outside the group.

More struggle here than seems it should be.  But editing larger groups of with many objects has always seemed to be a challenge for the IDE "since forever"…

How do you do it?  I would try do it programattically, but there is no command like

"copy fld "link-label to grp "portal-scroller" at x,y"

which could b really useful in this context.

Brahmanathswami



_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
Since you can copy an object to a group, all it takes is the second
command..

copy btn "fred" to grp "mygroup"
set the loc of btn "fred" of grp "mygroup" to x,y



On Sun, Sep 24, 2017 at 8:35 AM, Sannyasin Brahmanathaswami via
use-livecode <[hidden email]> wrote:

> Workin in 9.0.0 DP9 now. Old issues of editing groups seems to have gotten
> worse. selections lines around objects continue to appear even if you have
> select a different object, now the selection dashed lines remain on the
> previously selected object and it's as if we shift selected two object, but
> no, there is only 1 selected. when in group editing mode copy and paste
> object, the objects are pasted outside the group on the top layers of the
> card instead of in the group itself…
>
> At any rate… working with it…
>
> But I have a bigger question… How do you mobile pro develop scrolling
> groups either vertical sliders or horizontal sliders, which are, but their
> very nature, wider than the screen, or taller than the screen?
>
> e.g. if you have a group that is 1200 px tall and the card is 736h. and
> you want to add objects to the bottom of the group, how do you go about it?
> If  you set the scroll of the group to some big number like 1200… it will
> only scroll up to the bottom of the group (seems odd to me)  you don't get
> any extra space below the last item. so if you go to edit at that point,
> the group has no room below. one could temporarily increase the height of
> the stack, but if you have controls on the bottom that may not work well.
> and besides, you will run out of screen space anyway.
>
> I can set the top of the group to -500, now we have room on the screen
> below the last rows of the group. but the IDE will not allow you to drag
> out the height of the group to make more room for more objects. If I try to
> edit the group, I can select and copy the objects in the last row, as noted
> above, they are pasted outside the group.
>
> More struggle here than seems it should be.  But editing larger groups of
> with many objects has always seemed to be a challenge for the IDE "since
> forever"…
>
> How do you do it?  I would try do it programattically, but there is no
> command like
>
> "copy fld "link-label to grp "portal-scroller" at x,y"
>
> which could b really useful in this context.
>
> Brahmanathswami
>
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
In reply to this post by Tom Glod via use-livecode
When you're editing a group, you're on a temporary card that represents the
whole group but visually appears to be the card itself. What seems to be
"outside" the group is actually inside the group currently being edited.
When you stop editing, you see the group normally. If you leave editing
mode, do you still see pasted objects outside the group?

Very tall groups have to be arranged by script, the way Mike Bonner
described. It's sometimes easier to use relative locations rather than hard
coded numbers:

set the top of control 4 to the bottom of control 3

--
Jacqueline Landman Gay         |     [hidden email]
HyperActive Software           |     http://www.hyperactivesw.com



On September 24, 2017 9:37:49 AM Sannyasin Brahmanathaswami via
use-livecode <[hidden email]> wrote:

> Workin in 9.0.0 DP9 now. Old issues of editing groups seems to have gotten
> worse. selections lines around objects continue to appear even if you have
> select a different object, now the selection dashed lines remain on the
> previously selected object and it's as if we shift selected two object, but
> no, there is only 1 selected. when in group editing mode copy and paste
> object, the objects are pasted outside the group on the top layers of the
> card instead of in the group itself…
>
> At any rate… working with it…
>
> But I have a bigger question… How do you mobile pro develop scrolling
> groups either vertical sliders or horizontal sliders, which are, but their
> very nature, wider than the screen, or taller than the screen?
>
> e.g. if you have a group that is 1200 px tall and the card is 736h. and you
> want to add objects to the bottom of the group, how do you go about it? If  
> you set the scroll of the group to some big number like 1200… it will only
> scroll up to the bottom of the group (seems odd to me)  you don't get any
> extra space below the last item. so if you go to edit at that point, the
> group has no room below. one could temporarily increase the height of the
> stack, but if you have controls on the bottom that may not work well. and
> besides, you will run out of screen space anyway.
>
> I can set the top of the group to -500, now we have room on the screen
> below the last rows of the group. but the IDE will not allow you to drag
> out the height of the group to make more room for more objects. If I try to
> edit the group, I can select and copy the objects in the last row, as noted
> above, they are pasted outside the group.
>
> More struggle here than seems it should be.  But editing larger groups of
> with many objects has always seemed to be a challenge for the IDE "since
> forever"…
>
> How do you do it?  I would try do it programattically, but there is no
> command like
>
> "copy fld "link-label to grp "portal-scroller" at x,y"
>
> which could b really useful in this context.
>
> Brahmanathswami
>
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
On 09/24/2017 08:26 AM, J. Landman Gay via use-livecode wrote:

> Very tall groups have to be arranged by script, the way Mike Bonner
> described. It's sometimes easier to use relative locations rather than
> hard coded numbers:
>
> set the top of control 4 to the bottom of control 3

That's what I do but using actual identifiers for the controls rather
than the number. Control numbers can get changed if you move controls
around, in and out of groups, etc, so you can end up with results very
different from what you intended. Been there.

--
  Mark Wieder
  [hidden email]

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode

Yeah, me too. In this case I happened to know that the controls all have
the same names.

Insider trading. :)

--
Jacqueline Landman Gay         |     [hidden email]
HyperActive Software           |     http://www.hyperactivesw.com



On September 24, 2017 12:37:14 PM Mark Wieder via use-livecode
<[hidden email]> wrote:

> On 09/24/2017 08:26 AM, J. Landman Gay via use-livecode wrote:
>
>> Very tall groups have to be arranged by script, the way Mike Bonner
>> described. It's sometimes easier to use relative locations rather than
>> hard coded numbers:
>>
>> set the top of control 4 to the bottom of control 3
>
> That's what I do but using actual identifiers for the controls rather
> than the number. Control numbers can get changed if you move controls
> around, in and out of groups, etc, so you can end up with results very
> different from what you intended. Been there.
>
> --
>   Mark Wieder
>   [hidden email]
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode



_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
In reply to this post by Tom Glod via use-livecode
Copy button "my button" to group "my group"
Set the loc of button "my button" of group "my group" to x,y

Sent from my iPhone

> On Sep 24, 2017, at 10:35 AM, Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>
> Workin in 9.0.0 DP9 now. Old issues of editing groups seems to have gotten worse. selections lines around objects continue to appear even if you have select a different object, now the selection dashed lines remain on the previously selected object and it's as if we shift selected two object, but no, there is only 1 selected. when in group editing mode copy and paste object, the objects are pasted outside the group on the top layers of the card instead of in the group itself…
>
> At any rate… working with it…
>
> But I have a bigger question… How do you mobile pro develop scrolling groups either vertical sliders or horizontal sliders, which are, but their very nature, wider than the screen, or taller than the screen?
>
> e.g. if you have a group that is 1200 px tall and the card is 736h. and you want to add objects to the bottom of the group, how do you go about it? If  you set the scroll of the group to some big number like 1200… it will only scroll up to the bottom of the group (seems odd to me)  you don't get any extra space below the last item. so if you go to edit at that point, the group has no room below. one could temporarily increase the height of the stack, but if you have controls on the bottom that may not work well. and besides, you will run out of screen space anyway.
>
> I can set the top of the group to -500, now we have room on the screen below the last rows of the group. but the IDE will not allow you to drag out the height of the group to make more room for more objects. If I try to edit the group, I can select and copy the objects in the last row, as noted above, they are pasted outside the group.
>
> More struggle here than seems it should be.  But editing larger groups of with many objects has always seemed to be a challenge for the IDE "since forever"…
>
> How do you do it?  I would try do it programattically, but there is no command like
>
> "copy fld "link-label to grp "portal-scroller" at x,y"
>
> which could b really useful in this context.
>
> Brahmanathswami
>
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
I write very extensive setLayout handlers that set the size, position, font size, and other characteristics based on screen dimensions. It is a pain, but if we do it from the start, apps will always fit any screen and look good.

In this way, copying or creating a new control on a group is sufficient. The layout will happen with the setLayout script.

Sent from my iPhone

> On Sep 24, 2017, at 2:30 PM, [hidden email] wrote:
>
> Copy button "my button" to group "my group"
> Set the loc of button "my button" of group "my group" to x,y
>
> Sent from my iPhone
>
>> On Sep 24, 2017, at 10:35 AM, Sannyasin Brahmanathaswami via use-livecode <[hidden email]> wrote:
>>
>> Workin in 9.0.0 DP9 now. Old issues of editing groups seems to have gotten worse. selections lines around objects continue to appear even if you have select a different object, now the selection dashed lines remain on the previously selected object and it's as if we shift selected two object, but no, there is only 1 selected. when in group editing mode copy and paste object, the objects are pasted outside the group on the top layers of the card instead of in the group itself…
>>
>> At any rate… working with it…
>>
>> But I have a bigger question… How do you mobile pro develop scrolling groups either vertical sliders or horizontal sliders, which are, but their very nature, wider than the screen, or taller than the screen?
>>
>> e.g. if you have a group that is 1200 px tall and the card is 736h. and you want to add objects to the bottom of the group, how do you go about it? If  you set the scroll of the group to some big number like 1200… it will only scroll up to the bottom of the group (seems odd to me)  you don't get any extra space below the last item. so if you go to edit at that point, the group has no room below. one could temporarily increase the height of the stack, but if you have controls on the bottom that may not work well. and besides, you will run out of screen space anyway.
>>
>> I can set the top of the group to -500, now we have room on the screen below the last rows of the group. but the IDE will not allow you to drag out the height of the group to make more room for more objects. If I try to edit the group, I can select and copy the objects in the last row, as noted above, they are pasted outside the group.
>>
>> More struggle here than seems it should be.  But editing larger groups of with many objects has always seemed to be a challenge for the IDE "since forever"…
>>
>> How do you do it?  I would try do it programattically, but there is no command like
>>
>> "copy fld "link-label to grp "portal-scroller" at x,y"
>>
>> which could b really useful in this context.
>>
>> Brahmanathswami
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> [hidden email]
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
In reply to this post by Tom Glod via use-livecode
Jacque in the new branch newPortalNav2.. I changed that… all controls are assigned initial numeric prefix

1_
2_

I stole that idea from your photo index (

and the IDE started to calm down or rather I think I found a WYSIWIG method.

e.g.Tall vertical scrolling group whose formatted Height might be 1500 px, but is bound to a 680 tall screen view.

set the scroll of ThisGroup to 0
turn off edit selected controls
pointer → edit group
## change stuff.. stop editing
set the scroll of ThisGroup to 500 # now I'm somewhere in in the middle
edit group , stop editing
set the scroll of This group to 1200.  # now the end of the group appears at about 1/3 down the screen.
edit group # now comes "the trick"

while in edit group mode… don't copy and paste! option drag to make copies of the last three objects (three objects in a series comprise a "row" but are not grouped as such)

Stop editing. set the scroll of ThisGroup to 0  

all good now.  But will certainly adopt the double call, copy to group, then set the loc as a second command.

@ Jonathan, I do have some tools box things that auto set all the rows with properties and after doing the above, the run time scripts that use the "formattedHeight" of the group, will just work out of the box, as you point out,  with the new additions at the end of the group

I'm about to launch into doing horizontal sliders now… I feel armed and ready!

Thanks for all the help on this list. I never, ever have gotten here without everyone support!

BR

J. Landman Gay wrote:

    Yeah, me too. In this case I happened to know that the controls all have
    the same names.
   
    Insider trading. :)

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
In reply to this post by Tom Glod via use-livecode
Sannyasin Brahmanathaswami wrote:

 > But I have a bigger question… How do you mobile pro develop scrolling
 > groups either vertical sliders or horizontal sliders, which are, but
 > their very nature, wider than the screen, or taller than the screen?
 >
 > e.g. if you have a group that is 1200 px tall and the card is 736h.
 > and you want to add objects to the bottom of the group, how do you go
 > about it?

One way to have the scrollable area of a group larger than the
formattedRect of its interior objects is to set the group's boundingRect
property.

I'm not sure how much this will directly benefit the specifics of your
workflow, but at least worth being familiar in case it's useful later on.

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: Developing Methods: Creating Scrolling groups larger than screen rect

Tom Glod via use-livecode
Wow… great tip.  That dictionary entry is a small 'gold nugget"

These groups have their locklocation set to true.

So, duh.. obviously part of the problem was:

" If a group's boundingRect is empty and its lockLocation is false,
when you drag an object toward the boundary of the
group, the group automatically expands, resizing
itself to fit. If the lockLocation is true, the object is
clipped to the group's rectangle."

I'm thinking of putting the whole dictionary on a small chip and inserting it into my head just above the right ear.

FIY some wonderful soul keeps an app fairly up-to-date (8.1.3) that contains the whole dictionary…


Richard Gaskin wrote:

    One way to have the scrollable area of a group larger than the
    formattedRect of its interior objects is to set the group's boundingRect
    property.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode