Starting to support modes: a visual layout and behavioural modifications for particular experiences inside grafoscopio.
This commit is contained in:
parent
04facf6ca7
commit
20435782fb
@ -154,7 +154,7 @@ browser
|
|||||||
]
|
]
|
||||||
|
|
||||||
{ #category : #'graphical interface' }
|
{ #category : #'graphical interface' }
|
||||||
GrafoscopioBrowser >> buildBrowserTransmedia [
|
GrafoscopioBrowser >> buildBrowserTransmediaton [
|
||||||
"Main method for building the interface for trees and its nodes"
|
"Main method for building the interface for trees and its nodes"
|
||||||
|
|
||||||
browser := GLMTabulator new
|
browser := GLMTabulator new
|
||||||
@ -172,7 +172,7 @@ browser
|
|||||||
|
|
||||||
(browser transmit)
|
(browser transmit)
|
||||||
to: #tree;
|
to: #tree;
|
||||||
andShow: [:a | self treeOn: a].
|
andShow: [:a | self treeForTransmediatonOn: a].
|
||||||
"Creating a self updatable body pane"
|
"Creating a self updatable body pane"
|
||||||
(browser transmit)
|
(browser transmit)
|
||||||
to: #nodeBody;
|
to: #nodeBody;
|
||||||
@ -399,6 +399,29 @@ GrafoscopioBrowser >> openFromFile [
|
|||||||
browser openOn: mainTree children.
|
browser openOn: mainTree children.
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #persistence }
|
||||||
|
GrafoscopioBrowser >> openFromFileInMode: aMode [
|
||||||
|
"Opens a tree from a file and shows it on a specific graphical mode. Graphical modes are like themes in Grafoscopio which organize interface in a particular
|
||||||
|
layout to optimize interaction in a particular setting. For the moment only 'transmediaton' mode is supported (transmediaton is a transmedia hackathon)"
|
||||||
|
|
||||||
|
| fileStream currentChildren |
|
||||||
|
self configureSettings.
|
||||||
|
fileStream := UITheme builder
|
||||||
|
fileOpen: 'Elija un archivo .ston'
|
||||||
|
extensions: #('ston').
|
||||||
|
|
||||||
|
fileStream isNil ifTrue: [ ^nil ].
|
||||||
|
workingFile := fileStream name asFileReference.
|
||||||
|
currentChildren := (STON fromStream: fileStream).
|
||||||
|
mainTree := GrafoscopioNode new
|
||||||
|
header: 'Arbol principal';
|
||||||
|
level: 0.
|
||||||
|
mainTree children: currentChildren.
|
||||||
|
aMode = 'transmediaton'
|
||||||
|
ifTrue: [self buildBrowserTransmediaton ].
|
||||||
|
browser openOn: mainTree children.
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #'graphical interface' }
|
{ #category : #'graphical interface' }
|
||||||
GrafoscopioBrowser >> openInMode: aMode [
|
GrafoscopioBrowser >> openInMode: aMode [
|
||||||
"**Experimental feature.**
|
"**Experimental feature.**
|
||||||
@ -443,7 +466,7 @@ GrafoscopioBrowser >> openInModeTransmediaton [
|
|||||||
After that we will enable other modes"
|
After that we will enable other modes"
|
||||||
| draftsLocation |
|
| draftsLocation |
|
||||||
"self configureSettings."
|
"self configureSettings."
|
||||||
self buildBrowserTransmedia.
|
self buildBrowserTransmediaton.
|
||||||
mainTree := GrafoscopioNode new.
|
mainTree := GrafoscopioNode new.
|
||||||
mainTree becomeDefaultTree.
|
mainTree becomeDefaultTree.
|
||||||
draftsLocation := FileSystem disk workingDirectory / 'Grafoscopio' / 'Drafts'.
|
draftsLocation := FileSystem disk workingDirectory / 'Grafoscopio' / 'Drafts'.
|
||||||
@ -595,6 +618,102 @@ GrafoscopioBrowser >> saveWorkingTree [
|
|||||||
self inform: 'Archivo Guardado'.
|
self inform: 'Archivo Guardado'.
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #'graphical interface' }
|
||||||
|
GrafoscopioBrowser >> treeForTransmediatonOn: constructor [
|
||||||
|
"Shows the correspondent tree of a node"
|
||||||
|
|
||||||
|
(constructor tree) "Layout"
|
||||||
|
title: mainTree header;
|
||||||
|
children: [ :eachNode |
|
||||||
|
(eachNode children) isNil
|
||||||
|
ifTrue: [ self inform: 'Seleccione un nodo para ver su contenido' ]
|
||||||
|
ifFalse:[ eachNode children ] ];
|
||||||
|
format:[:eachNode |
|
||||||
|
(eachNode header) isNil
|
||||||
|
ifTrue: [ '' ]
|
||||||
|
ifFalse: [ eachNode header ]];
|
||||||
|
"Adding nodes"
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection) isNotNil
|
||||||
|
ifTrue: [treePresentation selection addNodeAfter].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousZoomIn
|
||||||
|
entitled: 'Add node';
|
||||||
|
"Removing nodes"
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [(treePresentation selection parent)
|
||||||
|
removeNode: treePresentation selection]
|
||||||
|
ifFalse: [treePresentation entity removeLast].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousZoomOut
|
||||||
|
entitled: 'Remove node';
|
||||||
|
|
||||||
|
"Move nodes in the same hierarchy"
|
||||||
|
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [treePresentation selection moveBefore].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousUp
|
||||||
|
entitled: 'Move node up';
|
||||||
|
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [treePresentation selection moveAfter].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousDown
|
||||||
|
entitled: 'Move node down';
|
||||||
|
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [treePresentation selection promote].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousLeft
|
||||||
|
entitled: 'Move node left';
|
||||||
|
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [treePresentation selection demote].
|
||||||
|
treePresentation update]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousRight
|
||||||
|
entitled: 'Move node rigt';
|
||||||
|
|
||||||
|
act: [ :treePresentation | treePresentation update ]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousRefresh
|
||||||
|
entitled: 'Update';
|
||||||
|
|
||||||
|
act: [self saveWorkingTree]
|
||||||
|
icon: GLMUIThemeExtraIcons glamorousSave
|
||||||
|
entitled: 'Save current tree';
|
||||||
|
|
||||||
|
"Menu options"
|
||||||
|
act: [ GrafoscopioBrowser new openFromFileInMode: 'transmediaton'] entitled: 'Arbol > Abrir/Cargar ...';
|
||||||
|
act: [self saveToFile] entitled: 'Arbol > Guardar como ...';
|
||||||
|
act: [self exportAsHtml] entitled: 'Arbol > Exportar como html';
|
||||||
|
"act: [:x | x printString inspect] entitled: 'Arbol > Definir título';"
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [self copyNodeIntoCache: treePresentation selection].
|
||||||
|
treePresentation update] entitled: 'Nodo > Copiar nodo';
|
||||||
|
act: [:treePresentation |
|
||||||
|
(treePresentation selection isNotNil)
|
||||||
|
ifTrue: [self replaceContentsFromCache: treePresentation selection].
|
||||||
|
treePresentation update] entitled: 'Nodo > Pegar nodo';
|
||||||
|
act: [self enableRepository] entitled: 'Proyecto > Activar';
|
||||||
|
act: [self addFileToRepository] entitled: 'Proyecto > Agregar archivo';
|
||||||
|
act: [:x | x printString inspect] entitled: 'Proyecto > Eliminar archivo';
|
||||||
|
act: [self repositoryCommit] entitled: 'Proyecto > Enviar al histórico';
|
||||||
|
act: [self repositoryCredentials] entitled: 'Proyecto > Acreditarse';
|
||||||
|
act: [self updateSystem] entitled: 'Grafoscopio > Actualizar';
|
||||||
|
act: [self updateSystem] entitled: 'Grafoscopio > Actualizar prerrequisitos';
|
||||||
|
act: [:x | x printString inspect] entitled: 'Grafoscopio > Actualizar herramientas externas';
|
||||||
|
act: [self configurePandoc] entitled: 'Grafoscopio > Herramientas externas > Definir ruta a pandoc';
|
||||||
|
act: [:x | x printString inspect] entitled: 'Grafoscopio > Herramientas externas > Definir ruta a fossil';
|
||||||
|
act: [:x | x printString inspect] entitled: 'Grafoscopio > Acerca de...'.
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #'graphical interface' }
|
{ #category : #'graphical interface' }
|
||||||
GrafoscopioBrowser >> treeOn: constructor [
|
GrafoscopioBrowser >> treeOn: constructor [
|
||||||
"Shows the correspondent tree of a node"
|
"Shows the correspondent tree of a node"
|
||||||
|
Loading…
Reference in New Issue
Block a user