Hi!
I have a browser where I do something like:
browser transmit to: #somePane; andShow: [ :a | a dynamic presentation: [ :some :element | some custom: element buildCustomBrowser ] ]
And then, I have implemented #buildCustomBrowser for example as:
buildCustomBrowser | browser | browser := GLMTabulator new. browser row: #tables. browser transmit to: #tables; andShow: [ :a | a table title: ('Columns for {1}' format: { table name }); addColumn: (GLMTableColumn new title: 'Column name'; computation: #name); addColumn: (GLMTableColumn new title: 'Null'; computation: [ :column | column nullable asString ]); addColumn: (GLMTableColumn new title: 'Type'; computation: [ :column | column typeName asString ]); addColumn: (GLMTableColumn new title: 'Length'; computation: [ :column | column length asString ]); addColumn: (GLMTableColumn new title: 'Primary Key'; computation: [ :column | column isPrimaryKey asString ]); display: self columns; yourself. ]. ^browser
And It does not render the table :(. If I change it to something like:
buildCustomBrowser | browser | browser := GLMTablePresentation new. browser title: ('Columns for {1}' format: { table name }); addColumn: (GLMTableColumn new title: 'Column name'; computation: #name); addColumn: (GLMTableColumn new title: 'Null'; computation: [ :column | column nullable asString ]); addColumn: (GLMTableColumn new title: 'Type'; computation: [ :column | column typeName asString ]); addColumn: (GLMTableColumn new title: 'Length'; computation: [ :column | column length asString ]); addColumn: (GLMTableColumn new title: 'Primary Key'; computation: [ :column | column isPrimaryKey asString ]); display: self columns. ^browser
It works, but I can't have several presentations for the same object... :(
I tried debugging the code, but I get lost and lost a lot of time without figuring anything :(.
Is there a way to do this? any workaround? or is it a bug or it is ignorance from my side?
Thanks! Guille