80 lines
2.5 KiB
Smalltalk
80 lines
2.5 KiB
Smalltalk
accessing
|
|
asCardElement
|
|
| aModeLook anEditor textInfoPane buttonsPane webpageButton |
|
|
|
|
self remoteIsFound
|
|
ifFalse:[ description := 'The user does not exist'.
|
|
url := nil.
|
|
createdAt := ZTimestamp now. ].
|
|
|
|
aModeLook := BrEditorModeAptitude new
|
|
editableFocused: [ :aWidget | aWidget border: (BlBorder paint: BrGlamorousColors focusedEditorBorderColor width: 1) ];
|
|
editableUnfocused: [ :aWidget | aWidget border: (BlBorder paint: BrGlamorousColors editorBorderColor width: 1) ];
|
|
readOnly: [ :aWidget | aWidget border: BlBorder empty ].
|
|
|
|
anEditor := BrEditor new
|
|
aptitude: BrGlamorousRegularEditorAptitude new + aModeLook;
|
|
text: self description;
|
|
vFitContent.
|
|
|
|
webpageButton := BrButton new
|
|
aptitude: BrGlamorousButtonWithLabelAptitude new;
|
|
label: self guiLinkLabel;
|
|
action: [ WebBrowser openOn: self url asString ].
|
|
|
|
textInfoPane := BrVerticalPane new
|
|
hMatchParent;
|
|
vFitContent;
|
|
margin: (BlInsets left: 20);
|
|
addChild: (BrLabel new
|
|
aptitude: BrGlamorousLabelAptitude;
|
|
text: '@' , self userName ;
|
|
beHugeSize);
|
|
addChild: (BrLabel new
|
|
aptitude: BrGlamorousLabelAptitude;
|
|
text: self name;
|
|
beLargeSize);
|
|
addChild: (BrLabel new
|
|
aptitude: BrGlamorousLabelAptitude;
|
|
text: 'Joined: ' , self createdAtShorted ).
|
|
self url ifNotNil: [textInfoPane addChild: webpageButton].
|
|
textInfoPane addChild: anEditor.
|
|
buttonsPane := BrHorizontalPane new
|
|
fitContent;
|
|
cellSpacing: 5;
|
|
addChildren: {
|
|
BrButton new
|
|
aptitude: BrGlamorousButtonWithLabelAptitude new;
|
|
label: 'Tweets';
|
|
action: [ :e | e phlow spawnObject: self messages ].
|
|
BrButton new
|
|
aptitude: BrGlamorousButtonWithLabelAptitude new;
|
|
label: 'Web view';
|
|
action: [ self webView ].
|
|
BrButton new
|
|
aptitude: BrGlamorousButtonWithLabelAptitude new;
|
|
label: 'PDF report';
|
|
action: [ WebBrowser openOn: self pdfReportFile fullName ].
|
|
"BrButton new
|
|
aptitude: BrGlamorousButtonWithLabelAptitude new;
|
|
label: 'Web report';
|
|
action: [ WebBrowser openOn: self htmlReportFile fullName ]."
|
|
}.
|
|
|
|
^ BrHorizontalPane new
|
|
padding: (BlInsets all: 15);
|
|
margin: (BlInsets all: 10);
|
|
cellSpacing: 5;
|
|
hMatchParent;
|
|
vFitContent;
|
|
addChildren: {
|
|
(self profileImage asElement asScalableElement size: 124 @ 124).
|
|
BrVerticalPane new
|
|
cellSpacing: 5;
|
|
hMatchParent;
|
|
vFitContent;
|
|
addChildren: {
|
|
buttonsPane.
|
|
textInfoPane.
|
|
}
|
|
} |