davidchisnall / openoutliner Goto Github PK
View Code? Open in Web Editor NEWOutliner application inspired by OmniOutliner 3
License: Other
Outliner application inspired by OmniOutliner 3
License: Other
You can't currently set column properties, but when you can we should make it optional whether enumeration values must be one of the pre-defined ones or may be added to simply by writing different text. In the former case, we should use a simple pop-up button for rendering.
There's a weird rendering glitch where the contents of the NSComboBox
contents for enumeration items disappears when the row is selected. The rendering of these is quite ugly anyway, so probably wants to be replaced by a custom control.
Currently, the notes display is a fixed height. We should keep an NSTextView
somewhere so that in -outlineView:heightOfRowByItem
we can determine what the height of the text should actually be and make the row the correct height.
This is probably easier to implement after #5.
Related to #7, it's possible to put multi-line text in a normal text cell, but the outline displays this as a single line.
Editing cells does not register undo events with the undo manager.
Currently, checkbox columns are not handled at all (and throw an unhandled exception if present in a document when opening).
The OmniOutliner 2 .ooutline file format is now orphaned. OmniOutliner 5 can't open it. It looks very simple: basically a property list serialisation of a dictionary. Each row contains:
Children
element containing an array of children in the same format.Cols
array including a string containing RTF for the column contents.Expanded
boolean indicating whether the row is expandedState
integer for the check box (0 indicating unticked, 1 indicating ticked?)The format is slightly complicated because notes are stored as simply another column value and you have to find the notes column by matching the column identifier to the value of the NoteColumn
value in the root dictionary.
You can edit existing notes, but you can't currently add new notes.
Undo works (mostly), but we don't register redo actions during the undo, so you can't undo an undo.
You currently can't change the indent level of outline items.
Hi David,
this project is great. During years of my studies I took notes using OpenOutliner 3 (which was great). Now I‘d really like to open them using my Linux box at work. What do you think, would it be worth a try to port it to GNUstep? In the meantime since you published this app GNUstep evolved and got the ability to read xib files. I don‘t know about storyboards though.
What do you think?
Johannes
Notes display is about as good as it can be without a custom view, but a fairly simple custom notes view that draws a nice border around the notes would make it a lot better.
Drag and drop works within a single document, but does not work to other documents.
It should also work to other applications.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.