Kexi API Documentation (1.1.2)

Todo List

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
For some cases, table schema can completely change, so it will be needed to refresh all objects depending on it. Implement this!

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
err msg?

this field can be notNull or notEmpty - check whether the default is ok (or do this checking also in the Table Designer?)

check for foreignKey values...

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
err msg?

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
err msg?

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
err msg?

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
better errmsg?

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
delete newTable...

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
support expressions (eg. TODAY()) as a default value

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
support unique, validatationRule, unsigned flags...

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
delete newTable...

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
delete newTable...

Member KexiDB::AlterTableHandler::execute (const QString &tableName, ExecutionArguments &args)
delete newTable...

Member KexiDB::AlterTableHandler::ChangeFieldPropertyAction::execute (Connection &conn, TableSchema &table)
errmsg

Member KexiDB::AlterTableHandler::ChangeFieldPropertyAction::execute (Connection &conn, TableSchema &table)

Member KexiDB::AlterTableHandler::InsertFieldAction::execute (Connection &conn, TableSchema &table)

Member KexiDB::AlterTableHandler::InsertFieldAction::simplifyActions (ActionDictDict &fieldActions)
not checked

Member KexiDB::AlterTableHandler::InsertFieldAction::updateAlteringRequirements ()
sometimes add DataConversionRequired (e.g. when relationships require removing orphaned records) ?

Member KexiDB::AlterTableHandler::InsertFieldAction::updateAlteringRequirements ()

Member KexiDB::AlterTableHandler::InsertFieldAction::updateTableSchema (TableSchema &table, Field *field, QMap< QString, QString > &fieldMap)
add it only when there should be fixed value (e.g. default) set for this new field...

Member KexiDB::AlterTableHandler::MoveFieldPositionAction::execute (Connection &conn, TableSchema &table)

Member KexiDB::AlterTableHandler::MoveFieldPositionAction::simplifyActions (ActionDictDict &fieldActions)

Member KexiDB::AlterTableHandler::MoveFieldPositionAction::updateAlteringRequirements ()

Member KexiDB::AlterTableHandler::RemoveFieldAction::execute (Connection &conn, TableSchema &table)

Member KexiDB::AlterTableHandler::RemoveFieldAction::simplifyActions (ActionDictDict &fieldActions)
not checked

Member KexiDB::AlterTableHandler::RemoveFieldAction::updateAlteringRequirements ()
sometimes add DataConversionRequired (e.g. when relationships require removing orphaned records) ?

Member KexiDB::AlterTableHandler::RemoveFieldAction::updateAlteringRequirements ()

Member KexiDBAutoField::changeText (const QString &text, bool beautify=true)
look at appendColonToAutoLabels setting [bool]

look at makeFirstCharacterUpperCaseInCaptions setting [bool] (see doc/dev/settings.txt)

support right-to-left layout where position of ":" is inverted

Member KexiDBAutoField::changeText (const QString &text, bool beautify=true)
":" suffix looks weird for checkbox; remove this condition when [x] is displayed _after_ label

Member KexiDBAutoField::createEditor ()
setup validator

Member KexiDBAutoField::createEditor ()
setup validator

Member KexiDBAutoField::setInvalidState (const QString &text)
or set this to editor's text?

Member KexiDBAutoField::setLabelPosition (LabelPosition position)
support right-to-left layout where positions are inverted

Member KexiDB::BinaryExpr::validate (ParseInfo &parseInfo)
compare types..., BITWISE_SHIFT_RIGHT requires integers, etc...

Class KexiBLOBBuffer
support any KPart-compatible objects and more...

Member KexiBLOBBuffer::Id_t
Qt4: will be changed

Member KexiBLOBBuffer::insertPixmap (const QPixmap &pixmap)
OK? What about jpegs?

Member KexiBLOBBuffer::insertPixmap (const KURL &url)
what about searching by filename only and then compare data?

Member KexiBLOBBuffer::insertPixmap (const KURL &url)
download the file if remote, then set fileName properly

Member KexiBLOBBuffer::insertPixmap (const KURL &url)
err msg

Member KexiBLOBBuffer::insertPixmap (const KURL &url)
err msg

Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
err msg

Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
use PreparedStatement

Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
err msg

Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
folder id: fix Id_t for Qt4

Member KexiBLOBBuffer::Handle::setStoredWidthID (Id_t id)
What about other handles for this item?

They were assuming it's unstored item, but it's stored now....

Member KexiBlobTableEdit::KexiBlobTableEdit (KexiTableViewColumn &column, QWidget *parent=0)
pixmaplabel icon is hardcoded...

Member KexiBlobTableEdit::handleAboutToSaveAsAction (QString &origFilename, QString &fileExtension, bool &dataIsEmpty)
no fname stored for now

Member KexiBlobTableEdit::handleInsertFromFileAction (const KURL &url)
download the file if remote, then set fileName properly

Member KexiBlobTableEdit::handleInsertFromFileAction (const KURL &url)
err msg

Member KexiBlobTableEdit::handleInsertFromFileAction (const KURL &url)
err msg

Member KexiBlobTableEdit::handleSaveAsAction (const QString &fileName)
err msg

Member KexiBlobTableEdit::handleSaveAsAction (const QString &fileName)
err msg

Member KexiBlobTableEdit::handleShowPropertiesAction ()

Member KexiBlobTableEdit::setupContents (QPainter *p, bool focused, const QVariant &val, QString &txt, int &align, int &x, int &y_offset, int &w, int &h)
optimize: load to m_pixmap, downsize

Member KexiBoolTableEdit::handleAction (const QString &actionName)
handle defaultValue...

Member KexiBrowser::KexiBrowser (QWidget *parent, KexiMainWindow *mainWin, int features=DefaultFeatures)
some of these actions can be supported once we deliver ACLs...

Member KexiBrowser::KexiBrowser (QWidget *parent, KexiMainWindow *mainWin, int features=DefaultFeatures)
1.1: just add "Delete" tooltip and what's this

Member KexiBrowser::KexiBrowser (QWidget *parent, KexiMainWindow *mainWin, int features=DefaultFeatures)
some of these actions can be supported once we deliver ACLs...

Member KexiBrowser::setProject (KexiProject *prj, const QString &itemsMimeType=QString::null, QString *partManagerErrorMessages=0)
FUTURE - don't do that when DESIGN MODE is OFF

Member KexiBrowser::setProject (KexiProject *prj, const QString &itemsMimeType=QString::null, QString *partManagerErrorMessages=0)
FUTURE - don't do that when DESIGN MODE is OFF

Member KexiBrowser::slotNewObjectPopupAboutToShow ()
err

Member KexiDBCheckBox::cursorAtEnd ()
?

Member KexiDBCheckBox::cursorAtStart ()
?

Member KexiDBCheckBox::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiDBCheckBox::updateTristate ()
the data source may be defined as NOT NULL... thus disallowing NULL state

Member KexiDBComboBox::createEditor ()
Qt4: set transparent background, for now we're setting button color

Member KexiDBComboBox::paintEvent (QPaintEvent *)
support reverse layout

Member KexiComboBoxBase::rowToHighlightForLookupTable () const
for now we're assuming the id is INTEGER

Member KexiComboBoxBase::setValueInternal (const QVariant &add, bool removeOld)
support more RowSourceType's, not only table

Member KexiComboBoxBase::setValueInternal (const QVariant &add, bool removeOld)
errmsg

Member KexiComboBoxBase::value ()
don't return just 1st row, but use autocompletion feature and: show message box if entered text does not match!

Member KexiComboBoxPopup::setData (KexiTableViewColumn *column, KexiDB::Field *field)
support more RowSourceType's, not only table and query

Member KexiComboBoxPopup::setData (KexiTableViewColumn *column, KexiDB::Field *field)
errmsg

Member KexiComboBoxPopup::setData (KexiTableViewColumn *column, KexiDB::Field *field)
errmsg

Member KexiComboBoxPopup::setData (KexiTableViewColumn *column, KexiDB::Field *field)
errmsg

Member KexiComboBoxPopup::setData (KexiTableViewColumn *column, KexiDB::Field *field)
THIS IS PRIMITIVE: we'd need to employ KexiDB::Reference here!

Member KexiComboBoxTableEdit::createInternalEditor (KexiDB::QuerySchema &schema)
subtype?

Member KexiComboBoxTableEdit::handleAction (const QString &actionName)
does not work with BLOBs!

Member KexiComboBoxTableEdit::handleCopyAction (const QVariant &value, const QVariant &visibleValue)
does not work with BLOBs!

Member KexiComboBoxTableEdit::widthForValue (QVariant &val, const QFontMetrics &fm)
ok?

Member KexiDB::Connection::alterTable (TableSchema &tableSchema, TableSchema &newTableSchema)
(js): implement real altering

(js): update any structure (e.g.

Member KexiDB::Connection::closeDatabase ()
(js) add CLEVER algorithm here for nested transactions

Member KexiDB::Connection::commitTransaction (Transaction trans=Transaction::null, bool ignore_inactive=false)
for nested transactions: Tansaction* beginTransaction(transaction *parent_transaction);

Member KexiDB::Connection::createTableStatement (const TableSchema &tableSchema) const
IS this ok for all engines?: if (!autoinc && !field->isPrimaryKey() && field->isNotNull())

Member KexiDB::Connection::deleteRow (QuerySchema &query, RowData &data, bool useROWID=false)
allow to delete from a table without pkey

Member KexiDB::Connection::dropTable (KexiDB::TableSchema *tableSchema, bool alsoRemoveSchema)
js: update any structure (e.g. queries) that depend on this table!

Member KexiDB::Connection::dropTable (TableSchema *tableSchema)
(js): update any structure (e.g. query) that depend on this table!

Member KexiDB::Connection::drv_alterTableName (TableSchema &tableSchema, const QString &newName)
fix this after refactoring

Member KexiDB::Connection::drv_containsTable (const QString &tableName)=0
move this somewhere to low level class (MIGRATION?)

Member KexiDB::Connection::drv_createTable (const TableSchema &tableSchema)
fix this after refactoring

Member KexiDB::Connection::drv_dropTable (const QString &name)
fix this after refatoring

Member KexiDB::Connection::drv_getTablesList (QStringList &list)=0
move this somewhere to low level class (MIGRATION?)

Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
now only if PKEY is present, this should also work when there's no PKEY

Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
safe to cast it?

Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
show error

Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
remove just inserted row. How? Using ROLLBACK?

Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
show error

Member KexiDB::Connection::kexiDBSystemTableNames ()
(js): this will depend on KexiDB lib version

Member KexiDB::Connection::loadExtendedTableSchemaData (TableSchema &tableSchema)
look at the current format version (KEXIDB_EXTENDED_TABLE_SCHEMA_VERSION)

Member KexiDB::Connection::loadExtendedTableSchemaData (TableSchema &tableSchema)
more properties

Member KexiDB::Connection::loadExtendedTableSchemaData (TableSchema &tableSchema)
more properties...

Member KexiDB::Connection::querySingleRecordInternal (RowData &data, const QString *sql, QuerySchema *query, bool addLimitTo1=true)
does not work with non-SQL data sources

Member KexiDB::Connection::resultCount (const QString &sql)
perhaps use Q_ULLONG here?

Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, const QValueList< QVariant > &params, const SelectStatementOptions &options=SelectStatementOptions()) const
looking at singleTable is visually nice but a field name can conflict with function or variable name...

Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, const QValueList< QVariant > &params, const SelectStatementOptions &options=SelectStatementOptions()) const
add option that allows to omit "AS" keyword

Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, const QValueList< QVariant > &params, const SelectStatementOptions &options=SelectStatementOptions()) const
(js) add other sql parts

Member KexiDB::Connection::setupField (const RowData &data)
fix this after refatoring

Member KexiDB::Connection::setupObjectSchemaData (const RowData &data, SchemaData &sdata)
fix this after refatoring

Member KexiDB::Connection::storeExtendedTableSchemaData (TableSchema &tableSchema)
future: save in older versions if neeed

Member KexiDB::Connection::storeObjectSchemaData (SchemaData &sdata, bool newObject)
safe to cast it?

Member KexiDB::Connection::updateRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool useROWID=false)
perhaps we can try to update without using PKEY?

Member KexiDBConnectionDialog::KexiDBConnectionDialog (const KexiProjectData &data, const QString &shortcutFileName=QString::null, const KGuiItem &acceptButtonGuiItem=KGuiItem(""))
set proper help ctxt ID

Member KexiDBConnectionTabWidget::currentProjectData ()
check if that's database of connection shortcut. Now we're assuming db shortcut only!

Member KexiDBConnectionWidget::setDataInternal (const KexiProjectData &data, bool connectionOnly, const QString &shortcutFileName)
what if there's no such driver name?

Member KexiConnSelectorWidget::slotRemoteAddBtnClicked ()
msg?

Member KexiConnSelectorWidget::slotRemoteEditBtnClicked ()
msg?

Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
horizontal/vertical splitter icons

Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
hflow icon

Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
vflow icon

Member KFormDesigner::CreateLayoutCommand::execute ()
allow setting this for data view mode as well

Member KexiCSVExportWizard::KexiCSVExportWizard (const KexiCSVExport::Options &options, KexiMainWindow *mainWin, QWidget *parent=0, const char *name=0)
1.1: for copying use "Always use above options for copying" string

Member KexiCSVImportDialog::KexiCSVImportDialog (Mode mode, KexiMainWindow *mainWin, QWidget *parent, const char *name=0)
what about making it kexidb-independent?

Member KexiCSVImportDialog::KexiCSVImportDialog (Mode mode, KexiMainWindow *mainWin, QWidget *parent, const char *name=0)
reuse Clipboard too!

Member KexiCSVImportDialog::accept ()
MOVE MOST OF THIS TO CORE/ (KexiProject?) after KexiDialogBase code is moved to non-gui place

Member KexiCSVImportDialog::accept ()
make it better integrated with main window

Member KexiCSVImportDialog::accept ()
: err

Member KexiCSVImportDialog::accept ()
make this field hidden (what about e.g. pgsql?)

Member KexiCSVImportDialog::accept ()
what about time and float/double types and different integer subtypes?

Member KexiCSVImportDialog::accept ()
what about long text?

Member KexiDB::Cursor::deleteAllRows ()
doesn't update cursor's buffer YET!

Member KexiDB::Cursor::deleteRow (RowData &data, bool useROWID=false)
doesn't update cursor's buffer YET!

Member KexiDB::Cursor::insertRow (RowData &data, RowEditBuffer &buf, bool getROWID=false)
doesn't update cursor's buffer YET!

Member KexiDB::Cursor::setOrderByColumnList (const QString &column1, const QString &column2=QString::null, const QString &column3=QString::null, const QString &column4=QString::null, const QString &column5=QString::null)
implement this, like above

add ORDER BY info to debugString()

Member KexiDB::Cursor::setOrderByColumnList (const QStringList &columnNames)
implement this:

Member KexiDB::Cursor::updateRow (RowData &data, RowEditBuffer &buf, bool useROWID=false)
doesn't update cursor's buffer YET!

Member Kross::KexiDB::KexiDBCursor::~KexiDBCursor ()
check ownership

Member KexiDataAwareObjectInterface::acceptEditor ()
allow displaying user-defined warning

also use for other error messages

Member KexiDataAwareObjectInterface::acceptEditor ()
validation rules for this value?

Member KexiDataAwareObjectInterface::cancelRowEdit ()
(js): cancel changes for this row!

Member KexiDataAwareObjectInterface::setData (KexiTableViewData *data, bool owner=true)
add col width configuration and storage

Member KexiDataAwareObjectInterface::setData (KexiTableViewData *data, bool owner=true)
: store sorting settings?

Member KexiDataAwareObjectInterface::m_contentsMousePressEvent_dblClick
really keep this here and not in KexiTableView?

Member KexiDataAwareObjectInterface::m_horizontalHeader
make generic interface out of KexiTableViewHeader

Member KexiDataAwareObjectInterface::m_verticalHeader
make generic interface out of KexiRecordMarker

Member KexiDataAwareView::initActions ()
plugSharedAction("data_filter", this, SLOT(???()));

Member KexiDataAwareView::initActions ()
update availability

Class KexiDB::DatabaseProperties
implement KConfigBase interface here?

Member KexiDataSourcePage::KexiDataSourcePage (QWidget *parent, const char *name=0)
allow to hide such helpers by adding global option

Member KexiDataSourcePage::slotFieldSelected ()
this should also work for expressions

Member KexiDataTable::filter ()

Member KexiDBDateEdit::isReadOnly () const
: data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true

Member KexiDBDateEdit::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiDateFormatter::KexiDateFormatter ()
allow to override the format using column property and/or global app settings

Member KexiDateFormatter::KexiDateFormatter ()
more variables are possible here, see void KLocale::setDateFormatShort() docs http://developer.kde.org/documentation/library/3.5-api/kdelibs-apidocs/kdecore/html/classKLocale.html#a59

Member KexiDateFormatter::KexiDateFormatter ()
use QRegExp (to replace Y by 1, etc.) instead of hardcoded "%1%299%399" because df may contain also other characters

Member KexiDateFormatter::~KexiDateFormatter ()
KexiDateFormatter(... settings ...);

Member KexiDateTableEdit::KexiDateTableEdit (KexiTableViewColumn &column, QWidget *parent=0)
add QValidator so date like "2006-59-67" cannot be even entered

Member KexiDateTableEdit::setValueInternal (const QVariant &add, bool removeOld)
cut string if too long..

Member KexiDBDateTimeEdit::isReadOnly () const
: data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true

Member KexiDBDateTimeEdit::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiDateTimeTableEdit::KexiDateTimeTableEdit (KexiTableViewColumn &column, QWidget *parent=0)
add QValidator so time like "99:88:77" cannot be even entered

Member KexiDateTimeTableEdit::setValueInternal (const QVariant &add, bool removeOld)
cut string if too long..

Member KexiDialogBase::attachToGUIClient ()
js: PROBABLY REMOVE THESE TWO?

Member KexiDisplayUtils::paintAutonumberSign (const DisplayParameters &par, QPainter *painter, int x, int y, int width, int height, int align, bool overrideColor=false)

Member KexiDBDoubleSpinBox::cursorAtEnd ()
?

Member KexiDBDoubleSpinBox::cursorAtStart ()
?

Member KexiDBDoubleSpinBox::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiDB::Driver::dateTimeToSQL (const QDateTime &v) const
add support for time zones?

Member KexiDBDriverComboBox::KexiDBDriverComboBox (QWidget *parent, const KexiDB::Driver::InfoMap &driversInfo, Options options=ShowAll)
change this if better icon is available

Member KexiDBDriverComboBox::KexiDBDriverComboBox (QWidget *parent, const KexiDB::Driver::InfoMap &driversInfo, Options options=ShowAll)
change this if better icon is available

Member KexiDropDownButton::KexiDropDownButton (QWidget *parent)
get this from a KStyle

Class Event
add aliases for slot()?? (eg actionName())

Member KexiDBFactory::changeText (const QString &newText)
check field's geometry

Member KexiDBFactory::clearWidgetContent (const QCString &classname, QWidget *w)
this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called

Member KexiDBFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
also call createMenuActions() for inherited factory!

Member KexiDBFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
make these actions undoable/redoable

Member KexiDBFactory::isPropertyVisibleInternal (const QCString &classname, QWidget *w, const QCString &property, bool isTopLevel)
unhide in 2.0

Member KexiDBFactory::startEditing (const QCString &classname, QWidget *w, KFormDesigner::Container *container)
this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called

Member KexiDBFactory::startEditing (const QCString &classname, QWidget *w, KFormDesigner::Container *container)
this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called

Member KexiDB::Field::setDefaultValue (const QCString &def)
BigInteger support

Member KexiDB::Field::setPrimaryKey (bool p)
is this ok for all engines?

Member KexiDB::Field::visibleDecimalPlaces () const
should we keep extended properties here or move them to a QVariant dictionary?

Member KexiFieldComboBox::setFieldOrExpression (const QString &string)
show error

Member KexiFieldListView::selectedFieldNames () const
what about query fields/aliases? it.current()->text(0) can be not enough

Member KexiFieldListView::slotDoubleClicked (QListViewItem *item)
what about query fields/aliases? it.current()->text(0) can be not enough

Class KexiDB::FieldValidator
date/time support for types

add validation of the maximum length and other field's properties

Member KexiDB::FieldValidator::FieldValidator (const Field &field, QWidget *parent, const char *name=0)
merge this code with KexiTableEdit code!

set maximum length validator

handle input mask (via QLineEdit::setInputMask()

Member KexiDB::FieldValidator::FieldValidator (const Field &field, QWidget *parent, const char *name=0)
handle unsigned (using ULongLongValidator)

Member KexiDB::FieldValidator::FieldValidator (const Field &field, QWidget *parent, const char *name=0)
add validator

Member KexiDB::FieldValidator::FieldValidator (const Field &field, QWidget *parent, const char *name=0)
add validator

Member KexiDB::FieldValidator::FieldValidator (const Field &field, QWidget *parent, const char *name=0)
add BooleanValidator

Member KexiDBForm::clear ()
clear all fields?

Member KexiDBForm::eventFilter (QObject *watched, QEvent *e)
remove hardcoded shortcuts: can be reconfigured...

Member KexiDBForm::isReadOnly () const
?

Member KexiDBForm::setCursor (const QCursor &cursor)
?

Member KexiDBForm::setInvalidState (const QString &displayText)
draw "invalid data source" text on the surface?

Member KexiDBForm::updateTabStopsOrder (KFormDesigner::Form *form)
d->indicesForDataAwareWidgets SHOULDNT BE UPDATED HERE BECAUSE // THERE CAN BE ALSO NON-TABSTOP DATA WIDGETS! //

Member KFormDesigner::Form::autoAssignTabStops ()
Handle RTL layout (ie form top-right to bottom-left)

Member KFormDesigner::Form::gridSize ()
make gridSize configurable at global level

Member KexiFormDataProvider::setMainDataSourceWidget (QWidget *mainWidget)
reenable when subform is moved to KexiDBForm

Member KexiFormEventAction::activate ()
react on failure...

Member KexiFormEventHandler::setMainWidgetForEventHandling (KexiMainWindow *mainWin, QWidget *mainWidget)
look for other widgets too

Member KFormDesigner::FormIO::loadFormFromDom (Form *form, QWidget *container, QDomDocument &domDoc)
We can either 1) convert from old format and later save in a new one or 2) keep old format. To do this we may need to look at the original format version number.

Member KFormDesigner::FormIO::loadFormFromDom (Form *form, QWidget *container, QDomDocument &domDoc)
display information about too new format and that "some information will not be available".

Member KFormDesigner::FormIO::loadFormFromFile (Form *form, QWidget *container, const QString &filename=QString::null)
Add errors code and error dialog

Member KFormDesigner::FormIO::loadWidget (Container *container, const QDomElement &el, QWidget *parent=0)
allow setting this for data view mode as well

Member KFormDesigner::FormIO::saveFormToFile (Form *form, const QString &filename=QString::null)
Add errors code and error dialog

Member KFormDesigner::FormManager::changeFont ()
this modification is not added to UNDO BUFFER: do it when KoProperty::Set supports multiple selections

Member KexiFormPart::static_formsLibrary
#define KEXI_SHOW_SPLITTER_WIDGET

Member FormScript::connectEvents ()
connect signals with actions

Member FormScript::execute (const QString &functionName)
how do we give parameters?

Member FormScript::execute (const QString &functionName)
support return value and arguments

Member FormScript::getCode (const QString &functionName=QString::null)
Allow to select only one function

Member KexiFormScrollView::addHeaderColumn (const QString &caption, const QString &description, const QIconSet &icon, int width)

Member KexiFormScrollView::clearColumnsInternal (bool repaint)

Member KexiFormScrollView::createEditor (int row, int col, const QString &addText=QString::null, bool removeOld=false)

Member KexiFormScrollView::currentLocalSortingOrder () const

Member KexiFormScrollView::editorShowFocus (int row, int col)

Member KexiFormScrollView::ensureCellVisible (int row, int col)

Member KexiFormScrollView::initDataContents ()
here we can react if user wanted to show the navigator

Member KexiFormScrollView::lastVisibleRow () const
unimplemented for now, this will be used for continuous forms

Member KexiFormScrollView::lastVisibleRow () const
unimplemented for now, this will be used for continuous forms

Member KexiFormScrollView::moveToFirstRecordRequested ()

Member KexiFormScrollView::moveToLastRecordRequested ()

Member KexiFormScrollView::moveToNextRecordRequested ()

Member KexiFormScrollView::moveToPreviousRecordRequested ()

Member KexiFormScrollView::moveToRecordRequested (uint r)

Member KexiFormScrollView::rowsPerPage () const

Member KexiFormScrollView::scrollBarTipTimeout ()
unused for now, will be used for continuous forms

Member KexiFormScrollView::setLocalSortingOrder (int col, int order)

Member KexiFormScrollView::slotRowInserted (KexiTableItem *item, uint row, bool repaint)

Member KexiFormScrollView::slotRowInserted (KexiTableItem *item, bool repaint)

Member KexiFormScrollView::slotRowRepaintRequested (KexiTableItem &item)

Member KexiFormScrollView::slotRowsDeleted (const QValueList< int > &)

Member KexiFormScrollView::sortColumnInternal (int col, int order=0)

Member KexiFormScrollView::updateCell (int row, int col)

Member KexiFormScrollView::updateGUIAfterSorting ()

Member KexiFormScrollView::updateRow (int row)

Member KexiFormScrollView::updateWidgetContents ()

Member KexiFormScrollView::updateWidgetContentsSize ()

Member KexiFormScrollView::updateWidgetScrollBars ()

Member KexiFormScrollView::vScrollBarSliderReleased ()
unused for now, will be used for continuous forms

Member KexiFormScrollView::vScrollBarValueChanged (int v)
unused for now, will be used for continuous forms

Member KexiFormView::KexiFormView (KexiMainWindow *mainWin, QWidget *parent, const char *name=0, bool dbAware=true)
#define KEXI_SHOW_SPLITTER_WIDGET

Member KexiFormView::KexiFormView (KexiMainWindow *mainWin, QWidget *parent, const char *name=0, bool dbAware=true)
skip this if ther're no borders

Member KexiFormView::afterSwitchFrom (int mode)
add option for skipping autoincremented fields

Member KexiFormView::deleteQuery ()
remove this shared query from listened queries list

Member KexiFormView::initDataSource ()
also handle anonymous (not stored) queries provided as statements here

KexiTableViewData is not great name for data class here... rename/move?

Member KexiFormView::initDataSource ()
check if the query could have skipped unused fields (no GROUP BY, no joins, etc.)

Member KexiFormView::initDataSource ()
There can be read-write queries, e.g. simple "SELECT * FROM...". Add a checking function to KexiDB.

Member KexiFormView::initDataSource ()
add expression support

Member KexiFormView::initDataSource ()
show error

Member KexiFormView::initDataSource ()
fieldName is ok, but what about expressions?

Member KexiFormView::initDataSource ()
PRIMITIVE!! data setting:

Member KexiFormView::initDataSource ()
few backends return result count for free! - no need to reopen()

Member KexiFormView::initForm ()
handle errors

Member KexiFormView::setUnsavedLocalBLOB (QWidget *widget, KexiBLOBBuffer::Id_t id)
if there already was data assigned, remember it should be dereferenced

Member KexiFormView::storeData (bool dontAsk=false)
remove unused data stored previously

Member KexiFormView::storeData (bool dontAsk=false)
show message about missing kexi__blobs?

Member KexiFormView::storeData (bool dontAsk=false)
show message

Member KexiFormView::storeData (bool dontAsk=false)
unsafe

Member KexiFormView::storeData (bool dontAsk=false)
show message?

Member KexiFormView::updateAutoFieldsDataSource ()
call this when form's data source is changed

Member KexiFormView::updateValuesForSubproperties ()
call this when form's data source is changed

Member KexiFormView::updateValuesForSubproperties ()
this could be at the KFD level, but KFD is going to be merged anyway with kexiforms, right?

Member KexiFrame::KexiFrame (QWidget *parent, const char *name=0, WFlags f=0)
obtain these defaults from current template's style...

Class KexiIdentifierPropertyEdit
move this to koproperty library (when KexiUtils is moves to kofficecore)

Member KexiDBImageBox::clear ()
emit signal for setting "dirty" flag within the design

Member KexiDBImageBox::handleInsertFromFileAction (const KURL &url)
download the file if remote, then set fileName properly

Member KexiDBImageBox::handleInsertFromFileAction (const KURL &url)
err msg

Member KexiDBImageBox::handleInsertFromFileAction (const KURL &url)
err msg

Member KexiDBImageBox::handleInsertFromFileAction (const KURL &url)
emit signal for setting "dirty" flag within the design

Member KexiDBImageBox::handleSaveAsAction (const QString &fileName)
err msg

Member KexiDBImageBox::handleSaveAsAction (const QString &fileName)
err msg

Member KexiDBImageBox::handleShowPropertiesAction ()

Member KexiDBImageBox::popupMenuAvailable ()
add kexi-global setting which anyway, allows to show this button (read-only actions like copy/save as/print can be available)

Member KexiDBImageBox::setDataSource (const QString &ds)
get default line width from global style settings

Member KexiDBImageBox::setDropDownButtonVisible (bool set)
use global default setting for this property

Member KexiDBImageBox::setInvalidState (const QString &displayText)
m_pixmapLabel->setText( displayText );

Member KexiDBImageBox::setValueInternal (const QVariant &add, bool removeOld, bool loadPixmap)
inform about error?

Member KexiDBImageBox::updateActionStrings ()
look at makeFirstCharacterUpperCaseInCaptions setting [bool] (see doc/dev/settings.txt)

Member KexiDBImageBox::widget ()

Member KexiImageContextMenu::insertFromFile ()
download the file if remote, then set fileName properly

Member KexiImageContextMenu::saveAs ()
add originalFileName! (requires access to KRecentDirs)

Member KexiImageContextMenu::saveAs ()
use KURL?

Member KexiImageContextMenu::updateTitle (QPopupMenu *menu, const QString &title, const QString &icon=QString::null)
look at makeFirstCharacterUpperCaseInCaptions setting [bool] (see doc/dev/settings.txt)

Member KexiImagePropertyEdit::selectPixmap ()
unsafe

Member KexiImagePropertyEdit::value () const
unsafe

Member KexiMigration::ImportWizard::next ()
use KURL?

Member KexiDB::IndexSchema::IndexSchema (const IndexSchema &idx, TableSchema &parentTable)
All relationships should be also copied

Member KexiPart::Info::Private::Private (const KService::Ptr &aPtr)
(js)..... now it's hardcoded!

Member KexiInputTableEdit::handleAction (const QString &actionName)
handle rich text?

Member KexiInputTableEdit::handleCopyAction (const QVariant &value, const QVariant &visibleValue)
handle rich text?

Member KexiInputTableEdit::value ()
PRESERVE PRECISION!

Member KexiInputTableEdit::value ()
check constraints

Member KFormDesigner::InsertWidgetCommand::execute ()
allow setting this for data view mode as well

Member KFormDesigner::InsertWidgetCommand::execute ()
update widget's width for entered text's metrics

Member KexiDBIntSpinBox::clear ()
?

Member KexiDBIntSpinBox::cursorAtEnd ()
?

Member KexiDBIntSpinBox::cursorAtStart ()
?

Member KexiDBIntSpinBox::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KActionsListViewBase::init ()
group actions

: store KAction* here?

Member KexiDBLineEdit::event (QEvent *)
add option to set cursor at the beginning

Member KexiDBLineEdit::handleAction (const QString &actionName)
?

Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
handle input mask (via QLineEdit::setInputMask()) using a special KexiDB::FieldInputMask class

Member KexiDBLineEdit::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Class KexiLookupColumnPage
not all features of KexiDB::LookupFieldSchema class are displayed on this page yet

Member KexiLookupColumnPage::setProject (KexiProject *prj)
show queries when supported

Member KexiLookupColumnPage::slotBoundColumnSelected ()
this should also work for expressions

Member KexiLookupColumnPage::slotRowSourceChanged ()
update d->propertySet ^^

Member KexiLookupColumnPage::slotVisibleColumnSelected ()
this should also work for expressions

Member KexiLookupColumnPage::slotVisibleColumnSelected ()
support expression in special "visibleExpression"

Member KexiDB::LookupFieldSchema::boundColumn () const
in later implementation there can be more columns

Member KexiDB::LookupFieldSchema::loadFromDom (const QDomElement &lookupEl)
handle fieldlist (retrieve from external table or so?), use lookupFieldSchema.rowSource().setValues()

Member KexiDB::LookupFieldSchema::visibleColumn () const
in later implementation there can be more columns

Member KexiMainWindowImpl::addWindow (KMdiChildView *pView, int flags=KMdi::StandardAdd)
Certain windows' sizes, e.g. forms could have own size configation specified! Query for this, and if so: give up.

Member KexiMainWindowImpl::create (int argc, char *argv[], KAboutData *aboutdata=0)
switch GUIenabled off when needed

Member KexiMainWindowImpl::exportItemAsDataTable (KexiPart::Item *item)
: check if changes to this are saved, if not: ask for saving

: accept row changes...

Member KexiMainWindowImpl::generatePrivateID ()
move to kexiproject

Member KexiMainWindowImpl::initActions ()
: change to "file_import" or so

Member KexiMainWindowImpl::initActions ()
: change to "file_export" or so

Member KexiMainWindowImpl::initActions ()
shouldn't we move this to core?

Member KexiMainWindowImpl::initActions ()
unused for now

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::FormObjectType as well

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::FormObjectType as well

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::FormObjectType as well

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::FormObjectType as well

Member KexiMainWindowImpl::initActions ()
support this in FormObjectType as well

Member KexiMainWindowImpl::initActions ()
support this in FormObjectType, ReportObjectType as well as others

Member KexiMainWindowImpl::initActions ()
support this in FormObjectType, ReportObjectType as well as others

Member KexiMainWindowImpl::initActions ()
support this in FormObjectType, ReportObjectType as well as others

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::TableObjectType, KexiPart::QueryObjectType later

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::TableObjectType, KexiPart::QueryObjectType, KexiPart::FormObjectType later

Member KexiMainWindowImpl::initActions ()
support this in KexiPart::TableObjectType, KexiPart::QueryObjectType, KexiPart::FormObjectType later

Member KexiMainWindowImpl::invalidateProjectWideActions ()
"copy special" is currently enabled only for data view mode; what about allowing it to enable in design view for "kexi/table" ?

Member KexiMainWindowImpl::openingAllowed (KexiPart::Item *item, int viewMode)
this can be more complex once we deliver ACLs...

Member KexiMainWindowImpl::openObject (KexiPart::Item *item, int viewMode, bool &openingCancelled, QMap< QString, QString > *staticObjectArgs=0, QString *errorMessage=0)
move part of this to KexiProject, because currently KexiProject::openObject() allows multiple opens!

Member KexiMainWindowImpl::openProject (const QString &aFileName, KexiDB::ConnectionData *cdata, const QString &dbName=QString::null)
caption arg?

Member KexiMainWindowImpl::openProject (const KexiProjectData &projectData)
temp.: change this if there are file-based drivers requiring a password

Member KexiMainWindowImpl::openProjectInExternalKexiInstance (const QString &aFileName, const QString &fileNameForConnectionData, const QString &dbName)
use KRun

Member KexiMainWindowImpl::printItem (KexiPart::Item *item, const KexiSimplePrintingSettings &settings, const QString &titleText=QString::null)
: check if changes to this object's design are saved, if not: ask for saving

: accept row changes...

Member KexiMainWindowImpl::printPreviewForItem (KexiPart::Item *item, const KexiSimplePrintingSettings &settings, const QString &titleText=QString::null, bool reload=false)
: check if changes to this object's design are saved, if not: ask for saving

: accept row changes...

Member KexiMainWindowImpl::showPageSetupForItem (KexiPart::Item *item)
: check if changes to this object's design are saved, if not: ask for saving

: accept row changes...

Member KexiMainWindowImpl::slotEditPasteSpecialDataTable ()
allow data appending (it is not possible now)

Member KexiMainWindowImpl::slotProjectImportDataTable ()
allow data appending (it is not possible now)

Member KexiMainWindowImpl::slotProjectNew ()
use KProcess?

Member KexiMainWindowImpl::slotToolsCompactDatabase ()
add support for server based if needed?

Member KexiMainWindowImpl::Private::dialogs
move to KexiProject

Member KexiMigration::KexiMigrate::data () const
Remove this! KexiMigrate should be usable for multiple concurrent migrations!

Member KexiMigration::KexiMigrate::drv_fetchRecordFromSQL (const QString &sqlStatement, KexiDB::RowData &data, bool &firstRecord)
SQL-dependent!

Member KexiMigration::KexiMigrate::drv_querySingleStringFromSQL (const QString &sqlStatement, uint columnNumber, QString &string)
SQL-dependent!

Member KexiMigration::KexiMigrate::drv_queryStringListFromSQL (const QString &sqlStatement, uint columnNumber, QStringList &stringList, int numRecords=-1)
SQL-dependent!

Member KexiMigration::KexiMigrate::performExport (Kexi::ObjectStatus *result=0)
performExport

Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
to reuse Connection::setupTableSchema()'s statement somehow...

Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
check detailed "copy forms/blobs/tables" flags here when we add them

Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
what if these two tables are not compatible with tables created in destination db because newer db format was used?

Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
copy kexi__db contents!

Member KexiMigration::KexiMigrate::propertyCaption (const QCString &propName) const
This is copied from KexiDB::Driver.

Member KexiMigration::KexiMigrate::propertyNames () const
This is copied from KexiDB::Driver.

Member KexiMigration::KexiMigrate::propertyValue (const QCString &propName)
This is copied from KexiDB::Driver.

Member KexiMigration::KexiMigrate::setData (KexiMigration::Data *migrateData)
Remove this! KexiMigrate should be usable for multiple concurrent migrations!

Member KexiMigration::KexiMigrate::setPropertyValue (const QCString &propName, const QVariant &value)
This is copied from KexiDB::Driver. One day it will be merged with KexiDB.

Member KexiMigration::KexiMigrate::userType (const QString &fname)
user should be asked ONCE using a convenient wizard's page, not a popup dialog

Member KexiMigration::KexiMigrate::userType (const QString &fname)
use QMap<QCString, KexiDB::Field::Type> here!

Member KexiMigration::KexiMigrate::m_migrateData
Remove this! KexiMigrate should be usable for multiple concurrent migrations!

Member KexiMigration::MigrateManager::possibleProblemsInfoMsg () const
copied from KexiDB::DriverManager, merge it.

Member KexiMigration::MigrateManagerInternal::lookupDrivers ()
could be merged. Copied from KexiDB::DriverManager.

Member KexiDB::MySqlConnection::drv_connect (KexiDB::ServerVersionInfo &version)
this is hardcoded for now; define api for retrieving variables and use this API...

Member KexiDB::MySqlConnection::drv_lastInsertRowID ()

Member NAMESPACE::MySqlConnectionInternal::db_connect (const KexiDB::ConnectionData &data)
move the list of default sockets to a generic method

Member NAMESPACE::MySqlConnectionInternal::db_connect (const KexiDB::ConnectionData &data)
is latin1() encoding here valid? what about using UTF for passwords?

Member KexiDB::MySqlCursor::rowData () const

Member KexiDB::MySqlCursor::storeCurrentRow (RowData &data) const
js: use MYSQL_FIELD::type here! see SQLiteCursor::storeCurrentRow()

Member KexiDB::MySqlCursor::value (uint)
js: use MYSQL_FIELD::type here!

Member KexiDB::MySqlDriver::escapeString (const QCString &str) const
optimize using mysql_real_escape_string()? see http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html

Member KexiDB::MySqlDriver::escapeString (const QString &str) const
support more characters, like %, _

Member KexiDB::MySqlDriver::escapeString (const QString &str) const
move new_string to Driver::m_new_string or so...

Member KexiMigration::MySQLMigrate::drv_copyTable (const QString &srcTable, KexiDB::Connection *destConn, KexiDB::TableSchema *dstTable)
Check that wasn't an error, rather than end of result set

Member KexiMigration::MySQLMigrate::drv_getTableSize (const QString &table, Q_ULLONG &size)
check result valid

Member KexiMigration::MySQLMigrate::getConstraints (int mysqlConstraints, KexiDB::Field *fld)
: Keys and uniqueness

Member KexiMigration::MySQLMigrate::type (const QString &table, const MYSQL_FIELD *t)
: Support set column type

Class KexiMigration::OptionsDialog
Hardcoded.

Member KexiPart::Part::execute (KexiPart::Item *item, QObject *sender=0)
make it protected, outside world should use KexiProject

Member KexiPart::Part::instanceCaption () const
move this to Info class when the name could be moved as localized property to service's .desktop file.

Member KexiPart::Part::instanceName () const
move this to Info class when the name could be moved as localized property to service's .desktop file.

Member KexiPart::Part::openInstance (KexiMainWindow *win, KexiPart::Item &item, int viewMode=KexiDataViewMode, QMap< QString, QString > *staticObjectArgs=0)
make it protected, outside world should use KexiProject

Member KexiPart::Part::openInstance (KexiMainWindow *win, KexiPart::Item &item, int viewMode=KexiDataViewMode, QMap< QString, QString > *staticObjectArgs=0)
js: apply settings for caption displaying method; there can be option for
  • displaying item.caption() as caption, if not empty, without instanceName
  • displaying the same as above in tabCaption (or not)

Member KexiPart::Part::remove (KexiMainWindow *win, KexiPart::Item &item)
make it protected, outside world should use KexiProject

Member KexiMigration::PqxxMigrate::drv_fetchRecordFromSQL (const QString &sqlStatement, KexiDB::RowData &data, bool &firstRecord)
SQL-dependent!

Member KexiDB::pqxxSqlConnection::drv_commitTransaction (TransactionData *)

Member KexiDB::pqxxSqlConnection::drv_useDatabase (const QString &dbName=QString::null, bool *cancelled=0, MessageHandler *msgHandler=0)
set version using the connection pointer when we drop libpqxx for libpq

Member KexiDB::pqxxSqlCursor::drv_clearServerResult ()
pqxxSqlCursor: stuff with server results

Member KexiDB::pqxxSqlCursor::drv_open ()
this check should be moved to Connection! when drv_prepareQuery() arrive

Member KexiDB::pqxxSqlDriver::pqxxSqlDriver (QObject *parent, const char *name, const QStringList &args=QStringList())
enable this when kexidb supports multiple: d->features = MultipleTransactions | CursorForward | CursorBackward;

Member KexiDB::PreparedStatement::generateStatementString ()
is this portable across backends?

Member KexiDB::PreparedStatement::generateStatementString ()
only tables and trivial queries supported for select...

Member KexiDB::PreparedStatement::generateStatementString ()
only tables supported for insert; what about views?

Member KexiProject::KexiProject (KexiProjectData *pdata, KexiDB::MessageHandler *handler=0)
partmanager is outside project, so can be initialised just once:

Member KexiProject::KexiProject (KexiProjectData *pdata, KexiDB::MessageHandler *handler, KexiDB::Connection *conn)
partmanager is outside project, so can be initialised just once:

Member KexiProject::create (bool forceOverwrite=false)
put more props. todo - creator, created date, etc. (also to KexiProjectData)

Member KexiProject::createBlankProject (bool &cancelled, KexiProjectData *data, KexiDB::MessageHandler *handler=0)
move to KexiMessageHandler

Member KexiProject::createConnection ()
won't work for subsequent connection

Member KexiProject::createInternalStructures (bool insideTransaction)
what about read-only db access?

Member KexiProject::createInternalStructures (bool insideTransaction)
what to do for readonly connections? Should we alter kexi__blobs in memory?

Member KexiProject::createInternalStructures (bool insideTransaction)
version differs: should we change something?

Member KexiProject::openInternal (bool *incompatibleWithKexi)
this is temporary workaround as we have no import driver for SQLite

Member KexiQueryDesignerGuiEditor::afterSwitchFrom (int mode)
load global query properties

Member KexiQueryDesignerGuiEditor::afterSwitchFrom (int mode)
load global query properties

Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
what about query?

Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
what about query?

Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
support expressions here

Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
ok, but not for expressions

Member KexiQueryDesignerGuiEditor::createPropertySet (int row, const QString &tableName, const QString &fieldName, bool newOne=false)
add table_field icon (add buff->addProperty(prop = new KexiProperty("this:iconName", "table_field") );

Member KexiQueryDesignerGuiEditor::parseExpressionString (const QString &fullString, int &token, bool allowRelationalOperator)
this is primitive, temporary: reuse SQL parser

Member KexiQueryDesignerGuiEditor::parseExpressionString (const QString &fullString, int &token, bool allowRelationalOperator)
what about query?

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
: now only sigle-field relationships are implemented!

what about multifield joins?

set["alias"].setValue(columnAlias, false);

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
move this check to parser on QuerySchema creation or to QuerySchema creation (WHERE expression should be then simplified by removing joins

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
testing primary key here is too simplified; maybe look ar isForeignKey() or indices..

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
addConnection() should have "bool oneToOne" arg, for 1-to-1 relations

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
fix for !INFIX operators

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
what about ALIAS?

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
fix for !INFIX operators

Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations, KexiDB::ResultInfo &result)
if (!columnAlias.isEmpty())

Member KexiQueryDesignerGuiEditor::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
what about expressions?

Member KexiQueryDesignerGuiEditor::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
this is primitive, temporary: reuse SQL parser

Member KexiQueryDesignerGuiEditor::storeLayout ()
what about query?

Member KexiQueryDesignerGuiEditor::updateColumnsData ()
what about query?

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
do not use KInputDialog - switch to more powerful custom dialog

offer option to display one dialog (form) with all the parameters

support more types (using validators)

support defaults

support validation rules, e.g.

support Enum type (list of strings, need support for keys and user-visible strings)

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
problem for ranges in case of BigInteger - will disappear when we remove use of KInputDialog

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
add support for unsigned parameter here

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
add validator

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
add validator

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
add validator

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
this value will be still rounded: consider storing them as a decimal type (e.g. using a special Q_LLONG+decimalplace class)

Member KexiQueryParameters::getParameters (QWidget *parent, const KexiDB::Driver &driver, KexiDB::QuerySchema &querySchema, bool &ok)
BLOB input unsupported

Member KexiDB::QuerySchema::addToWhereExpression (KexiDB::Field *field, const QVariant &value, int relation= '=')
date, time

Member KexiDB::QuerySchema::computeFieldsExpanded ()
(js): perhaps not all fields should be appended here

Member KexiDB::QuerySchema::computeFieldsExpanded ()
QuerySchema itself will also support lookup fields...

Member KexiDB::QuerySchema::fieldsExpanded (FieldsExpandedOptions options=Default)
js: UPDATE CACHE!

Member KexiDB::QuerySchema::pkeyFieldsOrder ()
js: UPDATE CACHE!

Member KexiQueryView::executeQuery (KexiDB::QuerySchema *query)
remove close() when dynamic cursors arrive

Member KexiRelationView::addConnection (const SourceConnection &_conn)
what about query?

Member KexiRelationView::addConnection (const SourceConnection &_conn)
what about query?

Member KexiRelationView::addTableContainer (KexiDB::TableSchema *t, const QRect &rect=QRect())
what about query?

Member KexiRelationView::containerMoved (KexiRelationViewTableContainer *c)
optimize

Member KexiRelationView::containerMoved (KexiRelationViewTableContainer *c)
optimize!

Member KexiRelationView::hideAllTablesExcept (KexiDB::TableSchema::List *tables)
what about queries?

Member KexiRelationView::hideTable (KexiRelationViewTableContainer *tableView)
what about query?

Member KexiRelationViewConnection::drawConnection (QPainter *p)
details char can be also just a '1' for some cases

Member KexiRelationViewConnection::toString () const
what about query?

Member KexiRelationViewTable::sizeHint ()
width is still not OK

Member KexiRelationWidget::aboutToShowPopupMenu ()
what about query?

Member KexiRelationWidget::designSelectedTable ()
what about query?

Member KexiRelationWidget::objectCreated (const QCString &mime, const QCString &name)
query?

Member KexiRelationWidget::objectDeleted (const QCString &mime, const QCString &name)
query?

Member KexiRelationWidget::objectRenamed (const QCString &mime, const QCString &name, const QCString &newName)
query?

Member KexiRelationWidget::openSelectedTable ()
what about query?

Member KexiReportFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
use KAction

Member KexiReportView::KexiReportView (KexiMainWindow *win, QWidget *parent, const char *name, KexiDB::Connection *conn)
skip this if ther're no borders

Member KexiScriptEditor::initialize (Kross::Api::ScriptAction *scriptaction)
remove after release

Member KexiScrollView::KexiScrollView (QWidget *parent, bool preview)
allow to hide navigator

Member KexiSimplePrintingCommand::print (const QString &aTitleText=QString::null)
item not found

Member KexiSimplePrintingCommand::print (const QString &aTitleText=QString::null)
get printer.pageOrder() (for reversed order requires improved engine)

Member KexiSimplePrintingCommand::print (const QString &aTitleText=QString::null)
msg

Member KexiSimplePrintingCommand::print (const QString &aTitleText=QString::null)
also look at printer.pageSet() option : all/odd/even pages

Member KexiSimplePrintingCommand::showPrintPreview (const KexiSimplePrintingSettings &settings, const QString &aTitleText=QString::null, bool reload=false)
item not found

Member KexiSimplePrintingCommand::showPrintPreview (const KexiSimplePrintingSettings &settings, const QString &aTitleText=QString::null, bool reload=false)
progress bar...

Member KexiSimplePrintingEngine::init (KexiDB::Connection &conn, KexiDB::TableOrQuerySchema &tableOrQuery, const QString &titleText, QString &errorMessage)
primitive: data should be loaded on demand

Member KexiSimplePrintingEngine::paintPage (int pageNumber, QPainter &painter, bool paint=true)
add setting

Member KexiSimplePrintingEngine::paintPage (int pageNumber, QPainter &painter, bool paint=true)
break large records anyway...

Member KexiSimplePrintingEngine::paintRecord (QPainter &painter, KexiTableItem *item, int cellMargin, uint &y, uint paintedRows, bool paint)
optimize like in KexiCSVExport::exportData()

Member KexiSimplePrintingPageSetup::KexiSimplePrintingPageSetup (KexiMainWindow *mainWin, QWidget *parent, QMap< QString, QString > *args)
default?

Member KexiSimplePrintingSettings::load ()
system default?

Member KexiSimplePrintPreviewView::paintEvent (QPaintEvent *pe)
only for screen!

Member KexiSimplePrintPreviewWindow::KexiSimplePrintPreviewWindow (KexiSimplePrintingEngine &engine, const QString &previewName, QWidget *parent, WFlags f=0)
unfinished

Member KexiSimplePrintPreviewWindow::KexiSimplePrintPreviewWindow (KexiSimplePrintingEngine &engine, const QString &previewName, QWidget *parent, WFlags f=0)
progress bar...

Member KexiSimplePrintPreviewWindow::slotZoomInClicked ()

Member KexiSimplePrintPreviewWindow::slotZoomOutClicked ()

Member KexiDB::SQLiteConnection::drv_changeFieldProperty (TableSchema &table, Field &field, const QString &propertyName, const QVariant &value)
msg

Member KexiDB::SQLitePreparedStatement::SQLitePreparedStatement (StatementType type, ConnectionInternal &conn, FieldList &fields)

Member KexiDB::SQLitePreparedStatement::~SQLitePreparedStatement ()

Member KexiDB::SQLitePreparedStatement::execute ()

Member KexiStartupHandler::detectActionForFile (KexiStartupData::Import &detectedImportAction, QString &detectedDriverName, const QString &_suggestedDriverName, const QString &dbFileName, QWidget *parent=0, int options=0)
rather check this using migration drivers' X-KexiSupportedMimeTypes [strlist] property

Member KexiStartupHandler::detectActionForFile (KexiStartupData::Import &detectedImportAction, QString &detectedDriverName, const QString &_suggestedDriverName, const QString &dbFileName, QWidget *parent=0, int options=0)
if file is ro: change project mode (but do not care if we're jsut importing)

Member KexiStartupHandler::init (int argc, char **argv)
Show error message from KexiDBConnShortcutFile when there's one implemented. For we're displaying generic error msg.

Member KexiStartupHandler::init (int argc, char **argv)
- templates: m_action = UseTemplate;

Member KexiStartupHandler::init (int argc, char **argv)

Member KexiStatusBar::KexiStatusBar (QWidget *parent=0, const char *name=0)
remove parts from the map on PartRemoved() ?

Member StdWidgetFactory::StdWidgetFactory (QObject *parent, const char *name, const QStringList &args)
Qt designer compatibility: maybe use this class when QLabel has a pixmap set...?

Member StdWidgetFactory::isPropertyVisibleInternal (const QCString &classname, QWidget *w, const QCString &property, bool isTopLevel)
reenable autoDefault / default if the top level window is dialog...

Member KexiDBSubForm::setFormName (const QString &name)
error message

Member KexiTableDesignerView::buildSchema (KexiDB::TableSchema &schema, bool beSilent=false)
for "names hidden" mode we won't get this error because user is unable to change names

Member KexiTableDesignerView::buildSchema (KexiDB::TableSchema &schema, bool beSilent=false)
support columnWidths(), columnHeadersVisible(), maximumListRows(), limitToList(), displayWidget()

Member KexiTableDesignerView::createPropertySet (int row, const KexiDB::Field &field, bool newOne=false)
add table_field icon

Member KexiTableDesignerView::createPropertySet (int row, const KexiDB::Field &field, bool newOne=false)
this should be retrieved from KexiDB::Field when BLOB supports many different mimetypes

Member KexiTableDesignerView::createPropertySet (int row, const KexiDB::Field &field, bool newOne=false)
set reasonable default for column width

Member KexiTableDesignerView::createPropertySet (int row, const KexiDB::Field &field, bool newOne=false)
use "Variant" type here when supported by KoProperty

Member KexiTableDesignerView::createPropertySet (int row, const KexiDB::Field &field, bool newOne=false)
support columnWidths(), columnHeadersVisible(), maximumListRows(), limitToList(), displayWidget()

Member KexiTableDesignerView::slotAboutToShowContextMenu ()
show "field" icon

Member KexiTableDesignerView::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
maybe this is good for other data types as well?

Member KexiTableDesignerView::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
should we display (passive?) dialog informing about cleared pkey?

Member KexiTableDesignerView::slotPropertyChanged (KoProperty::Set &set, KoProperty::Property &property)
indicate invalid definitions of lookup columns as well using a special icon (e.g. due to missing data source)

Member KexiTableDesignerView::slotPropertyChanged (KoProperty::Set &set, KoProperty::Property &property)
perhaps show a hint in help panel telling what happens?

Member KexiTableDesignerView::slotPropertyChanged (KoProperty::Set &set, KoProperty::Property &property)
: add setting for this: "Integer PKeys have autonumber set by default"

Member KexiTableDesignerView::storeData (bool dontAsk=false)
this is temporary flag before we switch entirely to real alter table

Member KexiTableDesignerView::storeData (bool dontAsk=false)
temp; remove this case:

Member KexiTableDesignerView::updateActions (bool activated)
check if we can set pkey for this column type (eg. BLOB?)

Member KexiTableDesignerViewPrivate::updatePropertiesVisibility (KexiDB::Field::Type fieldType, KoProperty::Set &set, CommandGroup *commandGroup=0)
remove this when BLOB supports default value

Member KexiTableEdit::setupContents (QPainter *p, bool focused, const QVariant &val, QString &txt, int &align, int &x, int &y_offset, int &w, int &h)
ADD OPTION to displaying NULL VALUES as e.g. "(null)"

Member KexiTablePart::setupCustomPropertyPanelTabs (KTabWidget *tab, KexiMainWindow *mainWin)
add "Table" tab

Member KexiTablePart::setupCustomPropertyPanelTabs (KTabWidget *tab, KexiMainWindow *mainWin)
add lookup field icon

Member KexiTableView::adjustColumnWidthToContents (int colNum=-1)
js: this is NOT EFFECTIVE for big data sets!!!!

Member KexiTableView::keyPressEvent (QKeyEvent *e)
add option for stopping at 1st column for Qt::Key_left

Member KexiTableView::keyPressEvent (QKeyEvent *e)
add option for stopping at last column

Member KexiTableView::setAppearance (const Appearance &a)
is setMouseTracking useful for other purposes?

Member KexiTableViewData::autoIncrementedColumn ()
what about multiple autoinc columns?

what about changing column order?

Member KexiTableViewData::preloadAllRows ()
change to bool and return false on error!

Member KexiTableViewData::saveRow (KexiTableItem &item, bool insert, bool repaint)
if there're multiple views for this data, we need multiple buffers!

Member KexiTableViewData::saveRow (KexiTableItem &item, bool insert, bool repaint)
set m_result.column if possible

Class KexiTableViewHeader
react on indexChange ( int section, int fromIndex, int toIndex ) signal

Member KexiDBTextEdit::setDisplayDefaultValue (QWidget *widget, bool displayDefaultValue)
support rich text...

Member KexiDBTextEdit::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiDBTextEdit::setValueInternal (const QVariant &add, bool removeOld)
temporary solution for booleans!

Member KexiDBTextEdit::undo ()
enable "real" undo internally so user can use ctrl+z while editing

Member KexiTextFormatter::inputMask () const
use KDateWidget?

Member KexiTextFormatter::inputMask () const
use KTimeWidget

Member KexiTextFormatter::textToValue (const QString &text) const
uint, etc?

Member KexiTextFormatter::textToValue (const QString &text) const
temporary solution for booleans!

Member KexiTextFormatter::textToValue (const QString &text) const
more data types!

Member KexiTextFormatter::valueIsEmpty (const QString &text) const

Member KexiTextFormatter::valueIsValid (const QString &text) const
fix for fields with "required" property = true

Member KexiTextFormatter::valueIsValid (const QString &text) const

Member KexiTextFormatter::valueToText (const QVariant &value, const QString &add) const
precision!

support 'g' format

Member KexiTextFormatter::valueToText (const QVariant &value, const QString &add) const
temporary solution for booleans!

Member KexiDBTimeEdit::isReadOnly () const
: data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true

Member KexiDBTimeEdit::setInvalidState (const QString &displayText)
move this to KexiDataItemInterface::setInvalidStateInternal() ?

Member KexiTimeFormatter::~KexiTimeFormatter ()
KexiDateFormatter(... settings ...);

Member KexiTimeTableEdit::KexiTimeTableEdit (KexiTableViewColumn &column, QWidget *parent=0)
add QValidator so time like "99:88:77" cannot be even entered

Member KexiTimeTableEdit::setValueInternal (const QVariant &add, bool removeOld)
cut string if too long..

Member KexiDB::UnaryExpr::validate (ParseInfo &parseInfo)
compare types... e.g. NOT applied to Text makes no sense...

Member KexiDBWidgetContextMenuExtender::updatePopupMenuActions ()
maybe redo will be enabled one day?

Member KFormDesigner::WidgetLibrary::loadFactories ()
improve

Member KFormDesigner::WidgetPropertySet::createPropertiesForWidget (QWidget *w)
add another list for property description

Member KFormDesigner::WidgetPropertySet::createPropertiesForWidget (QWidget *w)
change i18n

Member KFormDesigner::WidgetPropertySet::initPropertiesDescription ()
perhaps a few of them shouldn't be translated within KFD mode, to be more Qt Designer friendly?

Member KFormDesigner::WidgetPropertySet::isNameValid (const QString &name)
add to undo buffer

Member KFormDesigner::WidgetPropertySet::saveEnabledProperty (bool value)
make it support undo

Member KFormDesigner::WidgetPropertySet::updatePropertyValue (ObjectTreeItem *tree, const char *property, const QMetaProperty *meta=0)
what about set properties, and lists properties

Member KFormDesigner::WidgetWithSubpropertiesInterface::setSubwidget (QWidget *widget)
maybe someone wants to add more than one widget here?

Member addFieldPropertyToExtendedTableSchemaData (Field *f, const char *propertyName, const QVariant &propertyValue, QDomDocument &doc, QDomElement &extendedTableSchemaMainEl, QDomElement &extendedTableSchemaFieldEl, bool &extendedTableSchemaStringIsEmpty, bool custom=false)
add more QVariant types

Member TabWidgetBase
replace QTabWidget by KTabWidget after the bug with & is fixed:

Member KexiCSVExport::exportData (KexiDB::TableOrQuerySchema &tableOrQuery, const Options &options, int rowCount, QTextStream *predefinedTextStream)
move this to non-GUI location so it can be also used via command line

add a "finish" page with a progressbar.

look at rowCount whether the data is really large; if so: avoid copying to clipboard (or ask user) because of system memory

Member KexiCSVExport::exportData (KexiDB::TableOrQuerySchema &tableOrQuery, const Options &options, int rowCount, QTextStream *predefinedTextStream)
OPTIMIZATION: use fieldsExpanded(true /*UNIQUE

Member KexiCSVExport::exportData (KexiDB::TableOrQuerySchema &tableOrQuery, const Options &options, int rowCount, QTextStream *predefinedTextStream)
(during exporting): enlarge bufSize by factor of 2 when it became too small

Member KexiCSVExport::exportData (KexiDB::TableOrQuerySchema &tableOrQuery, const Options &options, int rowCount, QTextStream *predefinedTextStream)
escape strings

Member KexiCSVExport::exportData (KexiDB::TableOrQuerySchema &tableOrQuery, const Options &options, int rowCount, QTextStream *predefinedTextStream)
add options to suppport other types from KexiDB::BLOBEscapingType enum...

Member mimeTypeToType (const QString &mimeType)
more types

Member typeToMimeType (const QString &type)
more types

Member KDOCKWIDGET_P
REENABLE when blinking and dock width changes will be removed in KMDI

Member KEXI_NO_QUERY_TOTALS
remove KEXI_NO_QUERY_TOTALS later

Member __manager
Temporary, needed because MigrateManagerInternal::m_drivers is autodeleted drivers currently own KexiMigrate::Data members so these are destroyed when last MigrateManager instance is deleted. Remove this hack when KexiMigrate is splitted into Driver and Connection.

Member SimpleCommandLineApp::SimpleCommandLineApp (int argc, char **argv, KCmdLineOptions *options, const char *programName, const char *version, const char *shortDescription, int licenseType, const char *copyrightStatement, const char *text, const char *homePageAddress, const char *bugsEmailAddress)
make use of pty/tty here! (and care about portability)

Member KexiDB::emptyValueForType (KexiDB::Field::Type type)
ok? we have no better defaults

Member KexiDB::formatNumberForVisibleDecimalPlaces (double value, int decimalPlaces)
round?

Member KexiDB::getLimitsForType (Field::Type type, int &minValue, int &maxValue)
always ok?

Member KexiDB::isBuiltinTableFieldProperty (const QCString &propertyName)
always update this when new builtins appear!

Member KexiDB::loadPropertyValueFromDom (const QDomNode &node)
add more QVariant types

Member KexiDB::notEmptyValueForType (KexiDB::Field::Type type)
blobs will contain other mime types too

Member KexiDB::notEmptyValueForType (KexiDB::Field::Type type)
default?

Member KexiDB::rowCount (KexiDB::QuerySchema &querySchema)
does not work with non-SQL data sources

Member KexiDB::rowCount (const KexiDB::TableSchema &tableSchema)
does not work with non-SQL data sources

Member KexiDB::supportsVisibleDecimalPlacesProperty (Field::Type type)
add check for decimal type as well

Member KexiUtils::drawPixmap (QPainter &p, int lineWidth, const QRect &rect, const QPixmap &pixmap, int alignment, bool scaledContents, bool keepAspectRatio)
we can optimize drawing by drawing rescaled pixmap here and performing detailed painting later (using QTimer)

Member KexiUtils::drawPixmap (QPainter &p, int lineWidth, const QRect &rect, const QPixmap &pixmap, int alignment, bool scaledContents, bool keepAspectRatio)
only create buffered pixmap of the minimum size and then do not fillRect()

Member KexiDB::cstringToVariant (const char *data, KexiDB::Field *f, int length=-1)
date/time?

Member KexiDB::escapeBLOB (const QByteArray &array, BLOBEscapingType type)
reverse function for BLOBEscapeOctal is available: processBinaryData() in pqxxcursor.cpp - move it here

Member KexiDB::getLimitsForType (Field::Type type, int &minValue, int &maxValue)
add support for unsigned flag

Member KexiDB::rowCount (TableOrQuerySchema &tableOrQuery)
perhaps use Q_ULLONG here?

Member KexiDB::rowCount (QuerySchema &querySchema)
perhaps use Q_ULLONG here?

Member KexiDB::rowCount (const TableSchema &tableSchema)
perhaps use Q_ULLONG here?

Member KexiDB::rowCount (Connection &conn, const QString &sql)
perhaps use Q_ULLONG here?
KDE Logo
This file is part of the documentation for Kexi 1.1.2.
Documentation copyright © 2003-2006 the Kexi Team.
Generated on Tue Jan 23 14:02:07 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003