Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Scout/Concepts/TablePage"
(→Description) |
(→Events: add child page and virtual child page) |
||
Line 29: | Line 29: | ||
== Events == | == Events == | ||
''Defined with {{ScoutLink|Concepts|Exec_Methods|execXxxxxx()}} methods''. | ''Defined with {{ScoutLink|Concepts|Exec_Methods|execXxxxxx()}} methods''. | ||
− | |||
− | {{ScoutEvent|CreateChildPage}} is triggered for each row of the table (the corresponding row is given as parameter). It is possible to get some of the values in the table to pass them to the chid page. | + | === child page and virtual child page === |
+ | {{ScoutEvent|CreateChildPage}} is triggered for each row of the table (the corresponding row is given as parameter). It is possible to get some of the values in the table to pass them to | ||
+ | the chid page. | ||
+ | <source lang="java"> | ||
+ | @Override | ||
+ | protected IPage execCreateChildPage(final ITableRow row) throws ProcessingException { | ||
+ | MyNodePage childPage = new MyNodePage(); | ||
+ | childPage.setId(getTable().getIDColumn().getValue(row)); | ||
+ | childPage.setName(getTable().getNameColumn().getValue(row)); | ||
+ | childPage.setComment(getTable().getNotesColumn().getValue(row)); | ||
+ | return childPage; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | For performance reason, because sometimes instantiating a page can be expansive, the concept of virtual page was introduced. Virtual pages are created by {{ScoutEvent|CreateVirtualChildPage}}. Virtual pages act like a proxy: only when they are activated the real corresponding page is instanciated with the corresponding call to {{ScoutEvent|CreateChildPage}}. | ||
+ | |||
+ | {{note|TODO|If virtual page are not handled properly you can see two kinds of bugs: | ||
+ | * Label of the node change (see [http://www.eclipse.org/forums/index.php/t/452690/ child page do not decorate untll it's been clicked in an outline based application]) | ||
+ | * Pages disappears (occurs when {{ScoutEvent|CreateChildPage}} returns null -> a virtual child page is created and it desapears when its clicked). | ||
+ | TODO: Document these cases here. | ||
+ | }} | ||
+ | |||
+ | === Other events === | ||
+ | {{note|TODO|Add a description of the more important event and a list of the other events (grouped by type)}} | ||
== See Also == | == See Also == |
Revision as of 07:28, 8 February 2013
The Scout documentation has been moved to https://eclipsescout.github.io/.
Table-oriented The Scout documentation has been moved to https://eclipsescout.github.io/.
- implements: The Scout documentation has been moved to https://eclipsescout.github.io/.
- extends: The Scout documentation has been moved to https://eclipsescout.github.io/.
Contents
Description
- The Scout documentation has been moved to https://eclipsescout.github.io/.
Summary Cell
Screenshot
Properties
Defined with The Scout documentation has been moved to https://eclipsescout.github.io/. methods.
Events
Defined with The Scout documentation has been moved to https://eclipsescout.github.io/. methods.
child page and virtual child page
The Scout documentation has been moved to https://eclipsescout.github.io/. is triggered for each row of the table (the corresponding row is given as parameter). It is possible to get some of the values in the table to pass them to the chid page.
@Override protected IPage execCreateChildPage(final ITableRow row) throws ProcessingException { MyNodePage childPage = new MyNodePage(); childPage.setId(getTable().getIDColumn().getValue(row)); childPage.setName(getTable().getNameColumn().getValue(row)); childPage.setComment(getTable().getNotesColumn().getValue(row)); return childPage; }
For performance reason, because sometimes instantiating a page can be expansive, the concept of virtual page was introduced. Virtual pages are created by The Scout documentation has been moved to https://eclipsescout.github.io/.. Virtual pages act like a proxy: only when they are activated the real corresponding page is instanciated with the corresponding call to The Scout documentation has been moved to https://eclipsescout.github.io/..
Other events
See Also
- The Scout documentation has been moved to https://eclipsescout.github.io/.
- The Scout documentation has been moved to https://eclipsescout.github.io/.
- The Scout documentation has been moved to https://eclipsescout.github.io/.
- The Scout documentation has been moved to https://eclipsescout.github.io/.