/** @mainpage The libkiten Library API Reference

Overview | @ref components | @ref using | @ref adding

This is the online reference for developing using the libkiten library. libkiten is a library for managing a variety of japanese cross-language dictionaries through a common interface. It provides a light abstraction layer over various types of japanese dictionaries, with a simple facility for adding more types. @authors (c)2001 Jason Katz-Brown : Original Author of most of kiten and libkiten (c)1998 Jim W. Breen : Creator of an index file format used in libkiten (c)2006-2007 Eric Kjeldergaard : Rewriting effort for KDE 4 (c)2006-2008 Joseph Kerian : Rewriting effort for KDE 4 @maintainers Joseph Kerian is the current maintainer. @licenses This library is distributed under the lgpl: @lgpl
*/ /** @page components Components

@ref index "Overview" | Components | @ref using | @ref adding

Below is a brief summary of the various components of libkiten
DictQuery
Class to load with a query to the dictionary system.
DictionaryManager
Main management class. These objects are the main interface to the library.
DictionaryPreferenceDialog
Abstract Base Class, providing an interface between the individual dictionary preferences and the host application.
Entry
Results from a dictionary search are returned to the user application in a list of type Entry, aggregated in an EntryList.
EntryList
Results from a dictionary search are returned to the user application in a list of type Entry, aggregated in an EntryList.
HistoryPtrList
A useful utility class if you want to keep a history of results. Contains a list of EntryLists. Automatically handles maximum history size, and truncation/tracking current item
dictFile
An abstract base class, used internally for managing dictionary types
kromajiedit
An input box, can allow the user to enter kana without a japanese input manager installed
*/ /** @page using Using libkiten

@ref index "Overview" | @ref components | Using libkiten | @ref adding

General Approach to using the classes in the library: Create a DictionaryManager object, load dictionaries to it using member functions. (persistant) Create a DictQuery object, load it with your query EntryList *results = DictionaryManagerObject->doSearch(DictQueryObject); //Do something with each Entry in the EntryList, or do something with the whole list For your preferences dialog: Get a list of DictionaryPreferenceDialog objects from DictionaryManager to put into your preferences dialog. If you maintain a history: You can use HistoryPtrList to store and manage lists of EntryList's. */ /** @page adding Adding New Dictionary Types

@ref index "Overview" | @ref components | @ref using | Adding New Dictionary Types

Adding a new dictionary type is relatively simple. Look over the documentation of the dictFile abstract class. You may also need to subclass from Entry, if your dictionary requires special logic or strangely formatted fields. If you have no particular preferences to set (or want to put off that work until later), your dictFile descendent can return NULL, when asked for a preference dialog. */