Skip to content

Commit

Permalink
[Port]: Upgrade Utilities GT Home Section to Latest API
Browse files Browse the repository at this point in the history
- Helpers for both spawning and non-spawning buttons
- Supply icon, icon file, or icon path string
  • Loading branch information
seandenigris committed Nov 1, 2024
1 parent 54b3220 commit faf23cc
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 65 deletions.
20 changes: 10 additions & 10 deletions src/Dynabook-GToolkit/DbGtHomeDomainSection.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ DbGtHomeDomainSection >> addressBookCard [
^ self
buttonPriority: 10
titled: 'Address Book'
iconFileNamed: 'noun-address-book-148913.png'
icon: 'noun-address-book-148913.png'
tooltip: 'Inspect default address book'
inspecting: [ MpAddressBook uniqueInstance ]
]
Expand All @@ -23,7 +23,7 @@ DbGtHomeDomainSection >> booksCard [
^ self
buttonPriority: 20
titled: 'Books - Personal'
iconFileNamed: 'noun-financial-advice-book-4450943.png'
icon: 'noun-financial-advice-book-4450943.png'
tooltip: 'Inspect personal books'
inspecting: [ VsBooks personal ]
]
Expand All @@ -35,7 +35,7 @@ DbGtHomeDomainSection >> dailyNoteCard [
^ self
buttonPriority: 40
titled: 'Daily Note'
iconFileNamed: ''
icon: ''
tooltip: 'Create a TPP note for today'
inspecting: [
| page |
Expand All @@ -55,7 +55,7 @@ DbGtHomeDomainSection >> eventLogCard [
^ self
buttonPriority: 30
titled: 'Event Log'
iconFileNamed: 'noun-calendar-4979381.png'
icon: 'noun-calendar-4979381.png'
tooltip: 'Inspect default event log'
inspecting: [ PpEventLog uniqueInstance ]
]
Expand All @@ -72,7 +72,7 @@ DbGtHomeDomainSection >> inventoryCard [
^ self
buttonPriority: 50
titled: 'Inventory'
iconFileNamed: 'noun-inventory-2895895.png'
icon: 'noun-inventory-2895895.png'
tooltip: 'Inspect Inventory'
inspecting: [ PpInventory uniqueInstance ]
]
Expand All @@ -84,7 +84,7 @@ DbGtHomeDomainSection >> livingLibraryCard [
^ self
buttonPriority: 70
titled: 'LL Library'
iconFileNamed: 'noun-library-book-4329851.png'
icon: 'noun-library-book-4329851.png'
tooltip: 'Inspect default library'
inspecting: [ LlLibrary uniqueInstance ]
]
Expand All @@ -96,7 +96,7 @@ DbGtHomeDomainSection >> locationsCard [
^ self
buttonPriority: 60
titled: 'Locations'
iconFileNamed: 'noun-inventory-2895895.png'
icon: 'noun-inventory-2895895.png'
tooltip: 'Inspect Location List'
inspecting: [ PpLocationList uniqueInstance ]
]
Expand All @@ -108,7 +108,7 @@ DbGtHomeDomainSection >> networkedDevicesCard [
^ self
buttonPriority: 80
titled: 'Network Devices'
iconFileNamed: 'noun-computer-network-1836808.png'
icon: 'noun-computer-network-1836808.png'
tooltip: 'Inspect devices'
inspecting: [ CwNetworkDevice db ]
]
Expand All @@ -120,7 +120,7 @@ DbGtHomeDomainSection >> projectListCard [
^ self
buttonPriority: 90
titled: 'Projects'
iconFileNamed: 'noun-project-2662138.png'
icon: 'noun-project-2662138.png'
tooltip: 'Inspect default project list'
inspecting: [ PpProjectList uniqueInstance ]
]
Expand All @@ -132,7 +132,7 @@ DbGtHomeDomainSection >> resourceLibraryCard [
^ self
buttonPriority: 100
titled: 'Resource Library'
iconFileNamed: 'noun-file-4980207.png'
icon: 'noun-file-4980207.png'
tooltip: 'Inspect default resource library'
inspecting: [ RlResourceLibrary uniqueInstance ]
]
Expand Down
87 changes: 45 additions & 42 deletions src/Dynabook-GToolkit/DbGtHomeUtilitiesSection.class.st
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Class {
#name : #DbGtHomeUtilitiesSection,
#superclass : #GtHomeSection,
#superclass : #GtHomeMultiCardSection,
#classVars : [
'DataDB'
],
Expand All @@ -14,10 +14,14 @@ DbGtHomeUtilitiesSection class >> dataDB: anSpFileDatabaseClass [
]

{ #category : #stencils }
DbGtHomeUtilitiesSection >> baselineButton [
^ GtToolButtonStencil new
title: 'Baseline';
icon: BrGlamorousVectorIcons largeBook;
DbGtHomeUtilitiesSection >> baselineCard [
<gtSectionCard>

^ self
buttonPriority: 30
titled: 'Baseline'
icon: BrGlamorousVectorIcons largeBook
tooltip: ''
action: [ :card |
self
showSpaceWithIcon: BrGlamorousVectorIcons emphasizedBrowse
Expand All @@ -27,41 +31,27 @@ DbGtHomeUtilitiesSection >> baselineButton [
]

{ #category : #stencils }
DbGtHomeUtilitiesSection >> bridgeButton [
| icon |
icon := self iconFromFileNamed: 'noun-bridge-4982741.png'.
^ GtToolButtonStencil new
title: 'PBridge - Restart';
icon: icon;
iconSize: 50@50;
DbGtHomeUtilitiesSection >> bridgeCard [
<gtSectionCard>

^ self
buttonPriority: 20
titled: 'PBridge - Restart'
icon: 'noun-bridge-4982741.png'
tooltip: 'Stop and then start PBApplication'
action: [ :card |
PBApplication stop; start.
UIManager default inform: 'Python Bridge Restarted' ];
description: 'Stop and then start PBApplication'.
]

{ #category : #'api - instantiation' }
DbGtHomeUtilitiesSection >> create [
| cardsContainer sectionContainer |
sectionContainer := self newSectionContainer.
sectionContainer addChild: (self newSectionTitle: 'Dynabook - Utilities').

cardsContainer := self newCardsContainer
addChild: self dataButton create;
addChild: self bridgeButton create;
addChild: self baselineButton create;
addChild: self updateHomeButton create;
yourself.

sectionContainer addChild: cardsContainer.
^ sectionContainer
UIManager default inform: 'Python Bridge Restarted' ]
]

{ #category : #stencils }
DbGtHomeUtilitiesSection >> dataButton [
DbGtHomeUtilitiesSection >> dataCard [
<gtSectionCard>

^ self
buttonTitled: 'SP Data'
iconFileNamed: 'noun-database-4716694.png'
buttonPriority: 10
titled: 'SP Data'
icon: 'noun-database-4716694.png'
tooltip: 'Inspect persisted DB'
inspecting: [ self dataDB ]
]
Expand All @@ -71,18 +61,31 @@ DbGtHomeUtilitiesSection >> dataDB [
^ DataDB ifNil: [ DynabookDB ]
]

{ #category : #accessing }
DbGtHomeUtilitiesSection >> defaultPriority [
^ 20
]

{ #category : #accessing }
DbGtHomeUtilitiesSection >> iconFolder [
^ BaselineOfDynabook iconFolder
]

{ #category : #'api - instantiation' }
DbGtHomeUtilitiesSection >> sectionTitle [

^ 'Dynabook - Utilities'
]

{ #category : #stencils }
DbGtHomeUtilitiesSection >> updateHomeButton [
^ GtToolButtonStencil new
title: 'Update These';
icon: (self iconFromFileNamed: 'noun-home-323099.png');
iconSize: 55@55;
action: [ :card |
GtHome allInstances do: #updateSections ];
description: 'Refresh after making changes'.
DbGtHomeUtilitiesSection >> updateHomeCard [
<gtSectionCard>

^ self
buttonPriority: 40
titled: 'Update These'
icon: 'noun-home-323099.png'
"iconSize: 55@55;"
tooltip: 'Refresh after making changes'
action: [ :card | GtHome allInstances do: #updateSections ]
]
2 changes: 1 addition & 1 deletion src/Dynabook-GToolkit/GtHome.extension.st
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ GtHome >> dynabookDomainSection [
{ #category : #'*Dynabook-GToolkit' }
GtHome >> dynabookUtilitiesSection [
<gtHomeSection>

^ DbGtHomeUtilitiesSection new
priority: 7
]
38 changes: 26 additions & 12 deletions src/Dynabook-GToolkit/GtHomeMultiCardSection.extension.st
Original file line number Diff line number Diff line change
@@ -1,29 +1,43 @@
Extension { #name : #GtHomeMultiCardSection }

{ #category : #'*Dynabook-GToolkit' }
GtHomeMultiCardSection >> buttonPriority: aNumber titled: aString iconFileNamed: iconable tooltip: tipString inspecting: aValuable [
"Requires `#iconFolder` to be implemented"
GtHomeMultiCardSection >> buttonPriority: aNumber titled: aString icon: iconable tooltip: tipString action: aValuable [
"Requires `#iconFolder` to be implemented
iconable - can be icon itself, icon file, or icon path string"

| icon stencil |
icon := iconable isString
ifTrue: [ self iconFromFileNamed: iconable ]
ifFalse: [ GtFileUtility imageElementFromFileReference: iconable ].
icon := iconable.
iconable isString ifTrue: [ icon := self iconFromFileNamed: iconable ].
(iconable isKindOf: AbstractFileReference)
ifTrue: [ icon := GtFileUtility imageElementFromFileReference: iconable ].

stencil := GtToolButtonStencil new
title: aString;
icon: icon;
iconSize: 50@50;
action: [ :card |
self
showSpaceWithTitle: aString
with:
(GtInspector
createOn: aValuable value) maximized
from: card ];
action: aValuable;
description: tipString.

^ GtHomeCard explicit
priority: aNumber;
stencil: [ stencil ];
yourself
]

{ #category : #'*Dynabook-GToolkit' }
GtHomeMultiCardSection >> buttonPriority: aNumber titled: aString icon: iconable tooltip: tipString inspecting: aValuable [

^ self
buttonPriority: aNumber
titled: aString
icon: iconable
tooltip: tipString
action: [ :card |
self
showSpaceWithTitle: aString
with:
(GtInspector
createOn: aValuable value) maximized
from: card ]
]

0 comments on commit faf23cc

Please sign in to comment.