2011-02-28 5 views
5

Sto creando un visualizzatore di blog e un'applicazione di editor nella mia immagine Pharo e il contenuto della voce è formattato come codice Smalltalk (l'API di markup di Seaside è davvero bella). Sono abbastanza nuovo a Smalltalk, quindi stavo usando this blog post come esempio.Come si incorpora un editor di codice Smalltalk nella mia applicazione?

Al momento ho questo per il mio metodo BlogEditor>>open:

open 
| builder content | 

builder := UITheme builder. 
content := builder newColumn: { 
    builder newRow: { 
     builder newListFor: self 
     list: #entries 
     selected: #entrySelectedIndex 
     changeSelected: #entrySelectedIndex: 
     help: 'Blog entries'. 
    }. 
    builder newRow: { 
     editor := builder 
      newTextEditorFor: self 
      getText: #readSelectedEntry 
      setText: #changeSelectedEntry:. 
     editor minHeight: 400 } }. 

(content openInWindowLabeled: 'Entries') extent: [email protected] 

Non so cosa mettere al posto di editor := builder newTextEditorFor:. Ho visto la classe SmalltalkEditor, ma non so come inserirne una nell'interfaccia utente.

risposta

1

mettere la linea

self halt. 

sotto

builder := UITheme builder. 

eseguire il codice. Quando si ferma, esegui il debug e seleziona il builder. Scorri per vedere cos'altro puoi aggiungere.

Sai che un testo in Pharo ha una formattazione? Basta sfogliare il testo.

1

Ciò che può essere utilizzato è un PluggableTextMorph, che si riferisce a un TextMorphForEditView, che a sua volta fornisce SmalltalkEditor.

PluggableTextMorph è uno ScrollPane

È anche possibile cercare nel TextMorph che potrebbe tornare utile.

Il costruttore UITheme nasconde tutti i dettagli sgradevoli all'interno, ma ti riporterà alle classi sopra menzionate.

Buona fortuna.

Problemi correlati