Symbolink

Symbolink is a simple text based editor for paragraphs and symbols.

Idea: I made this tool for writing and editing diary-like book with lots of references to different symbols. I have been using Mind Maps, but they are limited because they arrange everything as a tree structure. With Symbolink it is possible to take a long text with lots of paragraphs, make up some symbols and attach them to paragraphs. Symbolink makes it possible to see paragraphs linked to symbols and symbols linked to paragraphs. I'm hoping this will make it easier to handle lots of things in a natural way i.e. Symbolink tries to mimic the way our mind handles things.

How it works: Symbolink generates and imports XML and HTML files. It is only using paragrahs marked with <P> tags. Symbols are attached to paragraphs as attributes that are not visible in HTML browsers.

Importing text: It is possible to take existing HTML and use it as a starting point for symbolink file. But the XML parser used is rather picky and import may not work. It is probably necessary to do some kind of preprocessing to get rid of everything except <BODY> and <P> tags. The parser does not seem to support some escape sequences.

Concepts

Paragraph: A bunch of words. Words are saved inside <P> and </P> tags in HTML or XML document.

Symbol: A word or short text describing something that is seen as important. Symbol is always linked or associated to at least one paragraph. By clicking a symbol you can see the associated paragraphs. By clicking a paragraph you can see the associated symbols.

User interface

All paragraphs listbox shows the current document as a list of paragraps. The lines only show the beginning of the paragraph. When a paragraph is selected, its contents are shown in paragraph edit box below. List of related symbols are shown in "Symbols linked to paragraph" list box.

Symbol to link edit box: Enter new symbol here and press Link Symbol to add link to the symbol. Symbol will appear in the "Symbols linked to paragraph" listbox and "All symbols" listbox.

Symbols linked to paragraph listbox: Shows symbols linked to currently selected paragraph. Click symbol in the list to see related paragraphs in "Paragraphs linked to symbol" listbox.

Paragraphs linked to symbol listbox: Shows paragraphs linked to current symbol in either "Symbols linked to paragraph" listbox or "All symbols" listbox. Clicking a paragraph will make it the current paragraph in the "All paragraphs" listbox.

All symbols listbox: Shows all symbols collected from all paragraphs. Link symbol button can be used to link existing symbol to current paragraph. Click symbol in the list to see related paragraphs in "Paragraphs linked to symbol" listbox.

Paragraph edit box: Here you can see and edit paragraph text.

Cut button: Cuts current paragraph and saves it into copy buffer. Paste command can be used to paste it into another location.

Paste before button: Inserts the paragraph in the copy buffer so that it appears before current paragraph.

Paste after button: Inserts the paragraph in the copy buffer so that it appears after current paragraph.

Search button: Search text in edit box from list of all paragraph. Show results in Paragraphs linked to symbol listbox.

New paragraph after button: Adds empty paragraph after current paragraph.

Update paragraph button: Saves the contents of paragraph edit box into current paragraph.

Update + New button: Saves the contents of paragraph edit box into current paragraph and adds empty paragraph after it.

New file button: Clears all paragraphs and symbols.

Open file button: Shows open file dialog and open a Symbolink file (or XML or HTML file).

Save file button: Shows save file dialog and saves the current Symbolink file.

Exit button: Closes the program.

Tasks

Adding new paragraph: After opening the program the paragraph list box contains one empty paragraph and the paragraph edit box is empty. Enter text into the edit box and press enter to update the text and create next empty paragraph.

Linking new symbol: Select desired paragraph from "All paragraphs" listbox and enter symbol text into "Symbol to link" edit box and click "Link symbol".

Linking existing symbol: Select desired paragraph from "All paragraphs" listbox and a symbol from "All symbols" listbox and click "Link symbol".

Opening file: Click "Open file".

Saving file: Click "Save file".

Things to do or ways to improve the program

Text edit should be automatically saved if user selects another paragraph without saving current changes.

Up and down buttons to move paragraph up and down

Some way to format paragraphs. At least should have header styles.

Free text search function.