:) Seems like I'm the one who likes to talk to himself...
In the custom render method you can use Magritte to generate a
read-only view of the fields, try something along:
html table: [
aStructure description do: [ :each |
(each isEditable and: [ each componentClass notNil ])
ifTrue: [
html tableRow: [
html tableHeading: each label.
html tableData: [
(each componentClass memento:
aStructure description: each)
renderViewerOn: html ] ] ]
] ]
This way it ignores pier syntax including all the 'special' symbols in
text... I can't understand how to fix it?
I played a little bit more with Pier and understood this question was
somewhat stupid...
My current idea is the following... For my site I have to do again and
again the same thing: render all the 'details' of the current object and
then render 'overview' of it's children. So, considering the 1-st part
(details) I'd like to tag some fields as details of the object. So I
implemented according methods (*#isDetail*, *#isDetail:*, *#beDetail*) in
*MADescription*. Then I want create DetailedCase as a subclass of *PRCase
*and override there *#accept: *
DetailedCase >> accept: aVisitor
aVisitor visitDetailedCase: self
In *PRViewRenderer >> visitDetailedCase: anObject* I want to visit every
property (is it correct term?) of *anObject *described as detail...
*but I can't understand how i can do it... can I get a property of object
by description (or vice versa)?*
I expect to get all the details about anObject properly presented on the
page this way. Am I right?
I did:
PRViewRenderer >> visitDetailedCase: anObject
self remember: anObject while: [ super visitDetailedCase: anObject ]
PRDeepRenderer >> visitDetailedCase: anObject
anObject detailedDescription
do: [:each | self
visit: (*each accessor read: anObject*)]
PRVisitor >> visitDetailedCase: anObject
self visitCase: anObject
It seems to work except the case when I tag *MAStringDescription *with *
#beDetail*. In that case it tries to visit a String which is collection and
so each of its characters should be visited but visiting is not implemented
for most of objects including Chars... and I'm affraid the same error will
be raised for some other types of description...
Hope to hear (or find by myself if only I'll have enough time) how to do it
all the right way tomorrow... :)
--
Dennis Schetinin