OMNotebook: Todo List

- Main Page
- Classes
- Files
- Related Pages
- Examples

# Todo List

Class IAEX::Cell
  Implement a widgetstack for the treeview. This to make it possible to implement other treeview structures. (Ingemar Axelsson)

Member IAEX::Cell::addRule (Rule *r)
  Implement functionality for 'InitializationCell': inputcells should be evaled from the start if the value is true. (Anders Fernström)

Member IAEX::Cell::applyRulesToStyle ()
  Implement functionality for 'TextJustification'.

Member IAEX::Cell::hideTreeView (const bool hidden)
  The treewidget should not only be hidden, the mainwidget should be resized.(Ingemar Axelsson)

Member IAEX::Cell::hideTreeView (const bool hidden)
  test if repaint is needed here. (Ingemar Axelsson)

Member IAEX::Cell::mouseMoveEvent (QMouseEvent *event)
  Needs a cursor->moveBefore member. (Ingemar Axelsson)

Member IAEX::Cell::setMainWidget (QWidget *newWidget)
  Delete old widget. (Ingemar Axelsson)

Member IAEX::Cell::setSelected (const bool selected)
  Tell the treeview that the cell has changed state. Should the cell be responsible to decide if it has been selected or should the treeview decide? Probably better if the cell decides. (Ingemar Axelsson)

Member IAEX::CellApplication::addToPasteboard (Cell *c)
  Create a pasteboard class as a Singleton that should be used instead of having a singleton inside the application class. Other things to do is to use the systemwide pasteboard instead. (Ingemar Axelsson)

Class IAEX::CellCommandCenter
  implement undo/redo functionality. This needs some changes in the command classes.(Ingemar Axelsson)

Member IAEX::CellCursor::moveDown ()
  It is better that Commands take care of how to change state of cells.(Ingemar Axelsson)

Member IAEX::CellCursor::replaceCurrentWith (Cell *newCell)
  create a cellcopy operation.

  test!

Class IAEX::CellDocument
  Implement an interface for applications. Also sort the includes in a better way. So developers does not have to include a lot of strange headerfiles. Just one headerfile should be enough.(Ingemar Axelsson)

Class IAEX::CellDocument
  Implement functionality for dragging cells around.(Ingemar Axelsson)

Class IAEX::CellDocument
  Make it possible to change celltype. From textcell to inputcell for example. Inputcell should only be a decorator of a textcell.(Ingemar Axelsson)

Member IAEX::CellDocument::CellDocument (Application *a, const QString filenamem, int readmode=READMODE_NORMAL)
  Remove the dependency of QFrame from document.(Ingemar Axelsson)

Member IAEX::CellDocument::cellFactory ()
  Check if factory is instantiated. (Ingemar Axelsson)

Member IAEX::CellDocument::executeCommand (Command *cmd)
  Save all commands. Also implement undo. Where should the undo be set? Global in application or local in document? Or should different commands be stored in different places.(Ingemar Axelsson)

Member IAEX::CellDocument::executeCommand (Command *cmd)
  implement a commandCenter interface that takes care of this. A problem with this conversion is the commands dependency for the document reference.(Ingemar Axelsson)

Member IAEX::CellDocument::setEditable (bool editable)
  Check if ever used. It does seem to be deprecated.(Ingemar Axelsson)

Member IAEX::CellDocument::setWorkspace (Cell *newWorkspace)
  The old workspace must be deleted!(Ingemar Axelsson)

Member IAEX::CellFactory::createCell (const QString &style, Cell *parent=0)
  Remove document dependency from Cellstructure. It is only used to point to a commandcenter (in this case the current document) and for the click event to get the current cursor. This can be done in some better way. Maybe by sending a signal to the document instead.(Ingemar Axelsson)

Class IAEX::CellGroup
  Reimplement as a composite instead. That is much much cleaner. Also look at CellWorkspace and rename CellContainer to CellDocument. CellWorkspace should dissappear.(Ingemar Axelsson)

Class IAEX::CellGroup
  Analyse class and find out what is different from the Cell class. Is it possible that cell and cellgroup should be integrated as one class? It should be easy to convert from a cell to a cellgroup. (Ingemar Axelsson)

Member IAEX::CellGroup::accept (Visitor &v)
  Could the traversing order be decided in the visitor instead without to much dirt added to the code class? This is definitly not important.(Ingemar Axelsson)

Member IAEX::CellGroup::accept (Visitor &v)
  Implement an Iterator for the cell structure. This could be nice.(Ingemar Axelsson)

Member IAEX::CellGroup::addChild (Cell *newCell)
  Try to get rid of the dependency of the doc() member. One way should be to use the cursor when opening a document. Use the cursors add functionality. Then this could be removed. The dependency should only be in the cursor then.(Ingemar Axelsson)

Member IAEX::CellGroup::mouseDoubleClickEvent (QMouseEvent *event)
  Should this be moved to treeview?(Ingemar Axelsson)

Member IAEX::CellGroup::setClosed (const bool closed)
  Add some signals when this happens. It can be possible that someone will do some fun stuff when a cell is closing.(Ingemar Axelsson)

Member IAEX::CellGroup::setClosed (const bool closed)
  reimplement with removing and adding to the layout instead.(Ingemar Axelsson)

Class IAEX::CellParserFactory
  Check for whitespaces in filename. Whitespaces at the end of a file should be taken care of in some way.(Ingemar Axelsson)

Class IAEX::Command
  Define some atomic commands that could be used to build up more advanced commands. For example move up down. Select cell at cursor position. Add/delete cell and so on. Just so there is a base to work with. Then this could be really powerful. (Ingemar Axelsson)

Class IAEX::Command
  Add a composite command. With composite command and a ifcommand a quite powerful macro environment.(Ingemar Axelsson)

Class IAEX::CopySelectedCellsCommand
  Implement some kind of internal state or copy constructors for all cells. This to make the copy process more general.(Ingemar Axelsson)

Class IAEX::CopySelectedCellsCommand
  Implement release from cellgroup. It should be possible to remove pointers to the cell structure without deleting the object. That needs reparenting of all subcells.(Ingemar Axelsson)

Class IAEX::InputCell
  Make it possiblee to add and change syntax coloring of code.(Ingemar Axelsson)

Class IAEX::MakeGroupCellCommand
  Create a command for converting selected cells into a groupcell.(Ingemar Axelsson)

Class IAEX::MakeGroupCellCommand
  Create commands for moving a cell.(Ingemar Axelsson)

Class IAEX::MakeGroupCellCommand
  Implement DRAG and DROP with cells.(Ingemar Axelsson)

Class IAEX::NotebookWindow
  implement a timer that saves a document every 5 minutes or so.

Class IAEX::NotebookWindow
  Implement section numbering. Could be done with some kind of vistors.

Class IAEX::TextCell
  Add members to fulfill the QTextEdit interface. This is very nice when it is needed.(Ingemar Axelsson)

Member IAEX::TextCell::setStyle (CellStyle style)
  right now all the text inside the cell is changed, when changing style. Text that have been changed from the cells style (for example words made bold) should be uneffected by the change in cellstyle. Right now this function is used when the user sets text to change the hole text to the cellstyle. /AF

Class IAEX::TreeView
  Find a way to easily extend a cell with multiple treeviews. It should be easy to change the treeview to a more goodlooking view if someone wants to do that.(Ingemar Axelsson)