From fc5f13e8d2d4420d0183d29c37ee0767bffd7c26 Mon Sep 17 00:00:00 2001 From: Offray Luna Date: Fri, 27 Aug 2021 17:32:28 -0500 Subject: [PATCH] UI: Placement and modularity. Starting user groups. --- .../Tweet.class/instance/asCardElement.st | 39 ++++++++++--------- .../TwitterUser.class/instance/addToGroup..st | 3 ++ .../instance/asCardElement.st | 31 ++++++++------- .../TwitterUser.class/instance/groups..st | 3 ++ .../TwitterUser.class/instance/groups.st | 3 ++ .../TwitterUser.class/properties.json | 3 +- 6 files changed, 47 insertions(+), 35 deletions(-) create mode 100644 Datanalitica.package/TwitterUser.class/instance/addToGroup..st create mode 100644 Datanalitica.package/TwitterUser.class/instance/groups..st create mode 100644 Datanalitica.package/TwitterUser.class/instance/groups.st diff --git a/Datanalitica.package/Tweet.class/instance/asCardElement.st b/Datanalitica.package/Tweet.class/instance/asCardElement.st index 8fdb899..7998aa3 100644 --- a/Datanalitica.package/Tweet.class/instance/asCardElement.st +++ b/Datanalitica.package/Tweet.class/instance/asCardElement.st @@ -1,6 +1,6 @@ accessing asCardElement - | aModeLook anEditor textInfoPane | + | aModeLook anEditor textInfoPane buttonsPane | aModeLook := BrEditorModeAptitude new editableFocused: [ :aWidget | aWidget border: (BlBorder paint: BrGlamorousColors focusedEditorBorderColor width: 1) ]; @@ -20,23 +20,8 @@ asCardElement aptitude: BrGlamorousLabelAptitude; text: '@' , self user userName , ' | ' , self created asString; beSmallSize); - addChild: anEditor. - - ^ BrHorizontalPane new - padding: (BlInsets all: 15); - margin: (BlInsets all: 10); - cellSpacing: 5; - hMatchParent; - vFitContent; - addChildren: { - (self user profileImage asElement asScalableElement size: 64 @ 64). - BrVerticalPane new - cellSpacing: 5; - hMatchParent; - vFitContent; - addChildren: { - textInfoPane. - BrHorizontalPane new + addChild: anEditor. + buttonsPane := BrHorizontalPane new fitContent; cellSpacing: 5; addChildren: { @@ -56,6 +41,22 @@ asCardElement aptitude: BrGlamorousButtonWithLabelAptitude new; label: 'Web view'; action: [ self webView ]. + }. + + ^ BrHorizontalPane new + padding: (BlInsets all: 15); + margin: (BlInsets all: 10); + cellSpacing: 5; + hMatchParent; + vFitContent; + addChildren: { + (self user profileImage asElement asScalableElement size: 64 @ 64). + BrVerticalPane new + cellSpacing: 5; + hMatchParent; + vFitContent; + addChildren: { + buttonsPane. + textInfoPane. } - } } \ No newline at end of file diff --git a/Datanalitica.package/TwitterUser.class/instance/addToGroup..st b/Datanalitica.package/TwitterUser.class/instance/addToGroup..st new file mode 100644 index 0000000..f1bc1f9 --- /dev/null +++ b/Datanalitica.package/TwitterUser.class/instance/addToGroup..st @@ -0,0 +1,3 @@ +accessing +addToGroup: aTwitterUsersGroup + self groups add: aTwitterUsersGroup \ No newline at end of file diff --git a/Datanalitica.package/TwitterUser.class/instance/asCardElement.st b/Datanalitica.package/TwitterUser.class/instance/asCardElement.st index c162f39..8a2ac98 100644 --- a/Datanalitica.package/TwitterUser.class/instance/asCardElement.st +++ b/Datanalitica.package/TwitterUser.class/instance/asCardElement.st @@ -1,6 +1,6 @@ accessing asCardElement - | aModeLook anEditor textInfoPane | + | aModeLook anEditor textInfoPane buttonsPane | aModeLook := BrEditorModeAptitude new editableFocused: [ :aWidget | aWidget border: (BlBorder paint: BrGlamorousColors focusedEditorBorderColor width: 1) ]; @@ -27,7 +27,20 @@ asCardElement addChild: (BrLabel new aptitude: BrGlamorousLabelAptitude; text: 'Joined: ' , self createdAtShorted ); - addChild: anEditor. + addChild: anEditor. + buttonsPane := BrHorizontalPane new + fitContent; + cellSpacing: 5; + addChildren: { + BrButton new + aptitude: BrGlamorousButtonWithLabelAptitude new; + label: 'Tweets'; + action: [ :e | e phlow spawnObject: self tweets ]. + BrButton new + aptitude: BrGlamorousButtonWithLabelAptitude new; + label: 'Web view'; + action: [ self webView ]. + }. ^ BrHorizontalPane new padding: (BlInsets all: 15); @@ -42,19 +55,7 @@ asCardElement hMatchParent; vFitContent; addChildren: { + buttonsPane. textInfoPane. - BrHorizontalPane new - fitContent; - cellSpacing: 5; - addChildren: { - BrButton new - aptitude: BrGlamorousButtonWithLabelAptitude new; - label: 'Tweets'; - action: [ :e | e phlow spawnObject: self tweets ]. - BrButton new - aptitude: BrGlamorousButtonWithLabelAptitude new; - label: 'Web view'; - action: [ self webView ]. } - } } \ No newline at end of file diff --git a/Datanalitica.package/TwitterUser.class/instance/groups..st b/Datanalitica.package/TwitterUser.class/instance/groups..st new file mode 100644 index 0000000..1d4ed02 --- /dev/null +++ b/Datanalitica.package/TwitterUser.class/instance/groups..st @@ -0,0 +1,3 @@ +accessing +groups: aTwitterUsersGroupCollection + groups := aTwitterUsersGroupCollection \ No newline at end of file diff --git a/Datanalitica.package/TwitterUser.class/instance/groups.st b/Datanalitica.package/TwitterUser.class/instance/groups.st new file mode 100644 index 0000000..86554a6 --- /dev/null +++ b/Datanalitica.package/TwitterUser.class/instance/groups.st @@ -0,0 +1,3 @@ +accessing +groups + ^ groups ifNil: [ groups := OrderedCollection new] \ No newline at end of file diff --git a/Datanalitica.package/TwitterUser.class/properties.json b/Datanalitica.package/TwitterUser.class/properties.json index 711a285..e80aeb3 100644 --- a/Datanalitica.package/TwitterUser.class/properties.json +++ b/Datanalitica.package/TwitterUser.class/properties.json @@ -13,7 +13,8 @@ "description", "metrics", "tweets", - "createdAt" + "createdAt", + "groups" ], "name" : "TwitterUser", "type" : "normal"