[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Katoob status report (Tuesday March 18, 2003)

Katoob status report (Tuesday March 18, 2003)

No, Katoob is neither dead nor the development is slow.
Katoob has undergone a serious and Major rewrite for the core, document 
handlers, GUI handlers.
The CVS now contains the new code.
The new code is mainly based upon the GtkObject system,
The main window -> KatoobWindow: which contains a Normal tool bar, a normal 
menu bar, And a KatoobStatusbar
The katoob status bar is divided into 4 parts
The rightmost one is the document save indicator, Then a wide area to display 
hints, Followed by an area to display the encoding, and lastly a gtkstatusbar 
to display the current cursor position.
The document is handled by a special widget -> KatoobDocument: it takes care of 
everything related to editing the buffer, undo/redo, All the document 
components are private and the rest of the application knows nothing about 
it, It is handled by the functions in KatoobDocument.c ONLY. KatoobDocument 
manipulates KatoobLabel which contains the labels for the notebook page, 
Notebook menu & Documents menu.
It communicates with the rest of the applications using GSignals, Thus leading 
to efficiency "the old model was calling the functions directly, So sometimes 
it ends calling a function more than once".
The emulator: An infra structure which enables the addition of new 
emulator layouts easily.
Simply place any emulator file in 
"$(prefix)/share/katoob/emulator", Restart katoob and voila! The file is added 
to the emulator menu, which is now combined with the xkeyboard extension menu, 
the later is not limited to the Arabic and English layout only, It detects all 
the key maps you have configured the Xserver to use
The BiDi support: Almost complete, Right click in the text editing area and 
either choose the text direction, Or choose automatic to let Katoob apply its 
BiDi algorithm.
No way to disable the BiDi support "removed --disable-bidi", Choose a fixed 
text direction instead.

I can say that the new code worth looking at it ;). It'll probably simplify the 
future developments, Help implementing new options.

Things to be done before the next version:
* The emulator is non functional
* The interface isn't updated when switching documents
* All the status bar components is non functional
* The encodings menu has an unknown state!!!!!!
* Implement the way to get the default encoding
* Some internal functions in KatoobWindow, KatoobStatusbar & KatoobDocument are not implemented
* The ability to read from the standard input is non functional/
* The document isn't marked as modified though katoob knows that it is
* The spell checker is non functional
* The preferences dialog is non functional, Needs a new implementation.
* Probably more than i can't remember...
* Represent an opened dialog when the user tries to reopen it again
* No way to select or modify the default encoding
* Move both the HTML numerical reference and the Iran system encoding to an 
   import/export menu "probably they are non functional now", perhaps implement 
   them as plug ins
* Re implement the spell checker into the KatoobDocument object
* Searching problem "scroll to the match"

Things implemented & Bug fixing:
* The GtkObject infrastructure "big!", The emulator infrastructure.
* Documents line numbers
* Combined the core of save, save_as, save_copy into 1 function.
* Fixed some memory leaks "probably there are many now due to the rewrite ;)"
* Save as adds file to recent menu
* Save as changes the document menu label in the documents menu
* Fixed choosing not to save on exit doesn't save for that time only!

Bugs to be verified:
* segfault when opening a non UTF-8 document from the command line
* recent menu is saving/loading the files correctly ?

Things that may be done before the next version
* A plug in interface
* Perhaps CVS support
* Perhaps syntax highlighting
* Font selection dialog
* perhaps DnD

-- Katoob Main Developer
Linux registered user # 224950
ICQ # 58475622
FIRST  make  it  run, THEN make it run fast "Brian Kernighan".

Attachment: pgp00005.pgp
Description: PGP signature