Forum Discussion
8 Replies
- btpooleChannel SurferSurely there's a way to get the column index and row index of a focused item in a markupgrid.
- btpooleChannel SurferAnybody??
- VeetaVisitorJust had a look at the docs and it seemed like something was missing so i tried it out with the SceneGraphXMLTutorial code.
Markupgrid is different from, say, RowList in that it doesn't map 2D data and give 2D indices into that data. Rather, it takes a linear list of data and it just lays out that linear list on screen by wrapping based on the value of numColumns.
So your row and column would berowFocused = itemFocused \ numColumns
columnFocused = itemFocused MOD numColumns
If you use the sections dividers, i don't have an answer there. You'd have to account for empty places in the grid as you encountered each section divider. In that case I would personally use a different component such as RowList. - btpooleChannel Surfer
"Veeta" wrote:
Just had a look at the docs and it seemed like something was missing so i tried it out with the SceneGraphXMLTutorial code.
Markupgrid is different from, say, RowList in that it doesn't map 2D data and give 2D indices into that data. Rather, it takes a linear list of data and it just lays out that linear list on screen by wrapping based on the value of numColumns.
So your row and column would berowFocused = itemFocused \ numColumns
columnFocused = itemFocused MOD numColumns
If you use the sections dividers, i don't have an answer there. You'd have to account for empty places in the grid as you encountered each section divider. In that case I would personally use a different component such as RowList.
Thanks a ton. Had hoped I was just overlooking something in docs. I was able to figure out the rowFocused calculation but was having a heck of time on the column part. Excuse me for sounding dumb but was is MOD? I don't seem to find that in docs either. - VeetaVisitorMOD is modulo https://en.wikipedia.org/wiki/Modulo_operation
- btpooleChannel SurferThank you, I thought maybe it was something specific to Brightscript.
- marcelo_cabralRoku GuruI had a similar issue with MarkupGrid that only returns the index on itemFocused property, even when you have multiple sections.
My solution was to create an index array to easily access later the [section, index].contentIndex = []
for s = 0 to m.top.content.getChildCount() - 1
for i = 0 to m.top.content.getChild(t).getChildCount() - 1
contentIndex.Push([s,i])
next
next
m.top.contentIndex = contentIndex
Then on the event to get the focus you just use this way:index = m.top.contentIndex[itemFocused]
focusedContent = m.top.content.getChild(index[0]).getChild(index[1]) - BhavyaVisitor
"marcelo.cabral" wrote:
I had a similar issue with MarkupGrid that only returns the index on itemFocused property, even when you have multiple sections.
My solution was to create an index array to easily access later the [section, index].contentIndex = []
for s = 0 to m.top.content.getChildCount() - 1
for i = 0 to m.top.content.getChild(t).getChildCount() - 1
contentIndex.Push([s,i])
next
next
m.top.contentIndex = contentIndex
Then on the event to get the focus you just use this way:index = m.top.contentIndex[itemFocused]
focusedContent = m.top.content.getChild(index[0]).getChild(index[1])
Great man. Thanks alot. your solution worked.