You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pivot.apache.org by "Greg Brown (JIRA)" <ji...@apache.org> on 2009/09/04 21:22:57 UTC

[jira] Created: (PIVOT-276) Create a GridView component

Create a GridView component
---------------------------

                 Key: PIVOT-276
                 URL: https://issues.apache.org/jira/browse/PIVOT-276
             Project: Pivot
          Issue Type: New Feature
          Components: wtk
            Reporter: Greg Brown
             Fix For: 1.4


GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.

GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (PIVOT-276) Add a GridView component

Posted by "Noel Grandin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776426#action_12776426 ] 

Noel Grandin commented on PIVOT-276:
------------------------------------

It seems like the only real different between this and ListView is that
(a) it can wrap like FlowPane
(b) it has an orientation property.

Given that all of the other logic (selection, editing, etc.) is shared with ListView, perhaps we implement this by adding wrapping and orientation styles to TerraListViewSkin?

> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.5
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (PIVOT-276) Add a GridView component

Posted by "Todd Volkert (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12778112#action_12778112 ] 

Todd Volkert commented on PIVOT-276:
------------------------------------

Flex calls it a TileList.  Borrowing from that theme of ideas, we could also consider TileView, which would be more consistent with our naming conventions...

> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.5
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (PIVOT-276) Add a GridView component

Posted by "Noel Grandin (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777455#action_12777455 ] 

Noel Grandin commented on PIVOT-276:
------------------------------------

I think part of my confusion is the naming - what you're describing here I would want to call a BoxView, since that is the container with the closest semantics.
A GridView is a grid - it has rows and columns, doesn't have an orientation, you have to specify every single cell explicitly.

If what you want is parity with the containers, then maybe we should create:

(1) GridView - acts like the new GridPane.

(2) BoxView - acts like BoxPane, the closest thing to what you're describing here.

> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.5
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (PIVOT-276) Add a GridView component

Posted by "Greg Brown (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777479#action_12777479 ] 

Greg Brown commented on PIVOT-276:
----------------------------------

I think BoxView would be misleading. BoxViews don't wrap, whereas this container would. GridView is appropriate because this component will arrange the items in a grid. It is similar to GridPane in that all of the cells will be the same size.

The orientation simply defines the direction of the flow (left to right or top to bottom). It establishes which axis defines the "break" - a horizontal grid pane will break on the x-axis, and a vertical grid pane will break on the y-axis.

I agree that an unconstrained GridPane would behave like a BoxPane with fill set to true. But then, so does a TableView with only one row or column. An constrained FlowPane (which does not align to baseline) behaves like a horizontal BoxPane with fill set to false and vertical alignment set to BOTTOM. So we have some overlap in our container behavior, but this is OK, because each of these containers is capable of doing at least one thing that the others can't.



> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.5
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (PIVOT-276) Add a GridView component

Posted by "Greg Brown (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Greg Brown updated PIVOT-276:
-----------------------------

    Summary: Add a GridView component  (was: Create a GridView component)

> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.4
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (PIVOT-276) Add a GridView component

Posted by "Greg Brown (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIVOT-276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776440#action_12776440 ] 

Greg Brown commented on PIVOT-276:
----------------------------------

That was actually the original idea. However, I think it will be simpler to implement as a separate component. It will also have parity with the planned GridPane class.

We have overlap in other places in the API as well. ListView and TableView are also conceptually similar, but we implemented them as individual components for the sake of clarity and simplicity. BoxPane and FlowPane are similar (and even TablePane shares some features in common), but it would complicate the implementations of all of them to attempt to get everything into one class. So I think a dedicated GridView is the better alternative.



> Add a GridView component
> ------------------------
>
>                 Key: PIVOT-276
>                 URL: https://issues.apache.org/jira/browse/PIVOT-276
>             Project: Pivot
>          Issue Type: New Feature
>          Components: wtk
>            Reporter: Greg Brown
>             Fix For: 1.5
>
>
> GridView would be a data-driven component like ListView or TableView, but would arrange items in a 2-dimensional grid instead of in rows (similar to "icon view" in Windows Explorer or Mac OS X Finder). It would provide an orientation property that would dictate which way items would be laid out: a horizontal grid view would arrange items left to right, and a vertical grid view would arrange them top to bottom.
> GridView would assume a fixed renderer size, and would report preferred size based on orientation: e.g. the preferred size of a horizontal grid view would be (n * renderer width) x (renderer height). Constraining the preferred width of a horizontal grid view would cause the items to wrap at the end of each row; constraining the preferred height of a grid view would cause items to wrap at the end of each column.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.