Preliminary support for embedded sub-browsers. I need to quit the independent openning of a new browser each time a new node is selected.
This commit is contained in:
parent
9f7422969c
commit
0ea75a5888
@ -70,6 +70,19 @@ GrafoscopioBrowser >> addFileToRepository [
|
|||||||
'echo "Added file to enabled repository"'.
|
'echo "Added file to enabled repository"'.
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #'graphical interface' }
|
||||||
|
GrafoscopioBrowser >> bodyForTransmediaOn: constructor [
|
||||||
|
"Shows the body of a transmedia type of node"
|
||||||
|
|
||||||
|
"(constructor text)
|
||||||
|
title: 'Cuerpo | Body ';
|
||||||
|
format:[:eachNode |
|
||||||
|
(eachNode body) isNil
|
||||||
|
ifTrue: [ '' ]
|
||||||
|
ifFalse: [ eachNode body]]."
|
||||||
|
constructor custom: self panelBrowserForTransmedia.
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #'graphical interface' }
|
{ #category : #'graphical interface' }
|
||||||
GrafoscopioBrowser >> bodyOn: constructor [
|
GrafoscopioBrowser >> bodyOn: constructor [
|
||||||
"Shows the body of a selected node"
|
"Shows the body of a selected node"
|
||||||
@ -84,7 +97,7 @@ GrafoscopioBrowser >> bodyOn: constructor [
|
|||||||
|
|
||||||
{ #category : #'graphical interface' }
|
{ #category : #'graphical interface' }
|
||||||
GrafoscopioBrowser >> buildBrowser [
|
GrafoscopioBrowser >> buildBrowser [
|
||||||
"Main method for building the interface for trees. Is getting long. Needs refactoring"
|
"Main method for building the interface for trees and its nodes"
|
||||||
|
|
||||||
browser := GLMTabulator new
|
browser := GLMTabulator new
|
||||||
title: 'Grafoscopio'.
|
title: 'Grafoscopio'.
|
||||||
@ -140,6 +153,49 @@ browser
|
|||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #'graphical interface' }
|
||||||
|
GrafoscopioBrowser >> buildBrowserTransmedia [
|
||||||
|
"Main method for building the interface for trees and its nodes"
|
||||||
|
|
||||||
|
browser := GLMTabulator new
|
||||||
|
title: 'Transmediaton | Grafoscopio'.
|
||||||
|
|
||||||
|
browser
|
||||||
|
column: [:c |
|
||||||
|
c row: #tree;
|
||||||
|
row: #nodeHeader] span: 2;
|
||||||
|
column: [ :c |
|
||||||
|
c row: #nodeBody span: 2] span: 4.
|
||||||
|
browser
|
||||||
|
updateOn: GLMItemAdded from: #yourself;
|
||||||
|
updateOn: GLMItemRemoved from: #yourself.
|
||||||
|
|
||||||
|
(browser transmit)
|
||||||
|
to: #tree;
|
||||||
|
andShow: [:a | self treeOn: a].
|
||||||
|
"Creating a self updatable body pane"
|
||||||
|
(browser transmit)
|
||||||
|
to: #nodeBody;
|
||||||
|
from: #tree;
|
||||||
|
andShow: [ :a | self bodyForTransmediaOn: a].
|
||||||
|
(browser transmit )
|
||||||
|
from: #tree port: #selection;
|
||||||
|
from: #nodeBody port: #text;
|
||||||
|
when: [:node :text | text notNil];
|
||||||
|
to: #nodeBody port: #neverland;
|
||||||
|
transformed: [:node :text | node body: text asString].
|
||||||
|
(browser transmit)
|
||||||
|
from: #tree;
|
||||||
|
to: #nodeHeader;
|
||||||
|
andShow: [ :h | self headerOn: h ].
|
||||||
|
(browser transmit )
|
||||||
|
from: #tree port: #selection;
|
||||||
|
from: #nodeHeader port: #text;
|
||||||
|
when: [:node :text | text notNil];
|
||||||
|
to: #nodeHeader port: #neverland1;
|
||||||
|
transformed: [:node :text | node header: text asString]
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #'system-support' }
|
{ #category : #'system-support' }
|
||||||
GrafoscopioBrowser >> configureFossil [
|
GrafoscopioBrowser >> configureFossil [
|
||||||
"Stablish where is located fossil according to the operative system and the input of the user"
|
"Stablish where is located fossil according to the operative system and the input of the user"
|
||||||
@ -385,36 +441,15 @@ GrafoscopioBrowser >> openInModeTransmediaton [
|
|||||||
Opens grafoscopio in several 'modes'. Each mode corresponds to a operation way, with an specific interface.
|
Opens grafoscopio in several 'modes'. Each mode corresponds to a operation way, with an specific interface.
|
||||||
We will start with a 'transmediaton' mode to let the people create some transmedia content.
|
We will start with a 'transmediaton' mode to let the people create some transmedia content.
|
||||||
After that we will enable other modes"
|
After that we will enable other modes"
|
||||||
browser := GLMTabulator new
|
| draftsLocation |
|
||||||
title: 'Transmediatón ', ' | Grafoscopio'.
|
"self configureSettings."
|
||||||
browser
|
self buildBrowserTransmedia.
|
||||||
column: #tree span: 2;
|
mainTree := GrafoscopioNode new.
|
||||||
column: [ :c |
|
mainTree becomeDefaultTree.
|
||||||
c row: [ :r | r column: #original; column: #transmediado];
|
draftsLocation := FileSystem disk workingDirectory / 'Grafoscopio' / 'Drafts'.
|
||||||
row: #buttons].
|
draftsLocation ensureCreateDirectory.
|
||||||
|
workingFile := draftsLocation / 'draft.ston'.
|
||||||
browser
|
browser openOn: mainTree children.
|
||||||
updateOn: GLMItemAdded from: #yourself;
|
|
||||||
updateOn: GLMItemRemoved from: #yourself.
|
|
||||||
|
|
||||||
(browser transmit)
|
|
||||||
to: #tree;
|
|
||||||
andShow: [:a | self treeOn: a].
|
|
||||||
|
|
||||||
(browser transmit)
|
|
||||||
to: #original;
|
|
||||||
andShow: [ :a | a text title: 'Original' ].
|
|
||||||
(browser transmit)
|
|
||||||
to: #transmediado;
|
|
||||||
andShow: [ :a | a text title: 'Transmediado' ].
|
|
||||||
(browser transmit)
|
|
||||||
to: #buttons;
|
|
||||||
andShow: [ :a |
|
|
||||||
a actionList
|
|
||||||
act: [:entity | entity inspect ] entitled: 'Subir';
|
|
||||||
act: [:entity | entity explore ] entitled: 'Previsualizar';
|
|
||||||
act: [:entity | entity explore ] entitled: 'Publicar'].
|
|
||||||
browser openOn: ''
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -452,6 +487,35 @@ GrafoscopioBrowser >> openWorking [
|
|||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
{ #category : #'graphical interface' }
|
||||||
|
GrafoscopioBrowser >> panelBrowserForTransmedia [
|
||||||
|
"**Experimental feature.**
|
||||||
|
Opens grafoscopio in several 'modes'. Each mode corresponds to a operation way, with an specific interface.
|
||||||
|
We will start with a 'transmediaton' mode to let the people create some transmedia content.
|
||||||
|
After that we will enable other modes"
|
||||||
|
browser := GLMTabulator new.
|
||||||
|
browser
|
||||||
|
column: [ :c |
|
||||||
|
c row: [ :r | r column: #original; column: #transmediado];
|
||||||
|
row: #buttons].
|
||||||
|
(browser transmit)
|
||||||
|
to: #original;
|
||||||
|
andShow: [ :a | a text title: 'Original' ].
|
||||||
|
(browser transmit)
|
||||||
|
to: #transmediado;
|
||||||
|
andShow: [ :a | a text title: 'Transmediado' ].
|
||||||
|
(browser transmit)
|
||||||
|
to: #buttons;
|
||||||
|
andShow: [ :a |
|
||||||
|
a actionList
|
||||||
|
act: [:entity | entity inspect ] entitled: 'Subir';
|
||||||
|
act: [:entity | entity explore ] entitled: 'Previsualizar';
|
||||||
|
act: [:entity | entity explore ] entitled: 'Publicar'].
|
||||||
|
browser openOn: ''.
|
||||||
|
^ browser.
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
{ #category : #persistence }
|
{ #category : #persistence }
|
||||||
GrafoscopioBrowser >> replaceContentsFromCache: aNode [
|
GrafoscopioBrowser >> replaceContentsFromCache: aNode [
|
||||||
"Replaces the contents of aNode from the ones in cacheNode. It doesn't work recursively yet, so it doen't copy the children of the nodes"
|
"Replaces the contents of aNode from the ones in cacheNode. It doesn't work recursively yet, so it doen't copy the children of the nodes"
|
||||||
|
Loading…
Reference in New Issue
Block a user