[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bcalligra/kexi-mobile-adam=5Fpigg=5D_kexi=3A_Continu?=
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2011-04-03 8:40:38
Message-ID: 20110403084038.02115A609B () git ! kde ! org
[Download RAW message or body]
Git commit 6a7edf1d38f861c5a30c7395ec7251f116b553d9 by Adam Pigg.
Committed on 03/04/2011 at 10:34.
Pushed by piggz into branch 'kexi-mobile-adam_pigg'.
Continue refactoring by making kexi build with KEXI_MOBILE not defined.
Expanded KexiRecordNavigatorIface, still needs to be moved into a
seperate file.
M +10 -0 kexi/core/kexidataiteminterface.cpp
M +4 -0 kexi/core/kexidataiteminterface.h
M +1 -1 kexi/formeditor/kexiformeventhandler.cpp
M +8 -0 kexi/kexi_export.h
M +2 -2 kexi/main/KexiMainWindow.cpp
M +1 -1 kexi/main/printing/kexisimpleprintingengine.h
M +1 -1 kexi/plugins/autoforms/KexiAutoFormView.cpp
M +1 -1 kexi/plugins/autoforms/KexiAutoFormView.h
M +1 -1 kexi/plugins/autoforms/widgets/AutoForm.cpp
M +1 -1 kexi/plugins/autoforms/widgets/AutoForm.h
M +2 -0 kexi/plugins/forms/CMakeLists.txt
M +1 -1 kexi/plugins/forms/kexidbfactory.cpp
M +1 -1 kexi/plugins/forms/kexidbtextwidgetinterface.cpp
M +2 -1 kexi/plugins/forms/kexiformscrollview.h
M +1 -1 kexi/plugins/forms/kexiformview.cpp
M +1 -1 kexi/plugins/forms/kexiformview.h
M +1 -1 kexi/plugins/forms/widgets/kexidbautofield.h
M +1 -1 kexi/plugins/forms/widgets/kexidbcheckbox.h
M +1 -1 kexi/plugins/forms/widgets/kexidbform.h
M +1 -1 kexi/plugins/forms/widgets/kexidbimagebox.h
M +1 -1 kexi/plugins/forms/widgets/kexidblabel.h
M +1 -1 kexi/plugins/forms/widgets/kexidblineedit.h
M +1 -1 kexi/plugins/forms/widgets/kexidbtextedit.h
M +1 -0 kexi/plugins/queries/CMakeLists.txt
M +2 -2 kexi/plugins/queries/kexiquerydesignerguieditor.cpp
M +1 -0 kexi/plugins/tables/CMakeLists.txt
M +1 -1 kexi/plugins/tables/kexitabledesignerview.cpp
M +1 -1 kexi/plugins/tables/kexitabledesignerview_p.cpp
M +1 -1 kexi/plugins/tables/kexitablepart.cpp
M +0 -2 kexi/widget/CMakeLists.txt
M +1 -1 kexi/widget/dataviewcommon/KexiTableViewColumn.h
M +3 -1 kexi/widget/dataviewcommon/kexidataawareobjectiface.cpp
M +3 -7 kexi/widget/dataviewcommon/kexidataawareobjectiface.h
M +1 -1 kexi/widget/dataviewcommon/kexidataawarepropertyset.h
M +1 -1 kexi/widget/dataviewcommon/kexidataawareview.h
M +4 -9 kexi/widget/dataviewcommon/kexidataprovider.cpp
M +1 -1 kexi/widget/dataviewcommon/kexidataprovider.h
M +1 -1 kexi/widget/dataviewcommon/kexiformdataiteminterface.h
M +1 -1 kexi/widget/dataviewcommon/kexitableviewdata.h
M +2 -1 kexi/widget/tableview/CMakeLists.txt
M +1 -1 kexi/widget/tableview/kexicelleditorfactory.cpp
M +1 -1 kexi/widget/tableview/kexicomboboxbase.cpp
M +1 -1 kexi/widget/tableview/kexicomboboxbase.h
M +1 -1 kexi/widget/tableview/kexicomboboxtableedit.h
A +0 -0 kexi/widget/tableview/kexidataawareobjectiface.h [License: \
Trivial file] M +2 -2 kexi/widget/tableview/kexidatatable.h
M +1 -1 kexi/widget/tableview/kexitableedit.cpp
M +14 -9 kexi/widget/tableview/kexitableview.cpp
M +2 -0 kexi/widget/tableview/kexitableview.h
M +25 -6 kexi/widget/utils/kexirecordnavigator.h
http://commits.kde.org/calligra/6a7edf1d38f861c5a30c7395ec7251f116b553d9
diff --git a/kexi/core/kexidataiteminterface.cpp \
b/kexi/core/kexidataiteminterface.cpp index b183637..8eb9d4d 100644
--- a/kexi/core/kexidataiteminterface.cpp
+++ b/kexi/core/kexidataiteminterface.cpp
@@ -141,3 +141,13 @@ bool KexiDataItemInterface::cursorAtNewRow()
{
return listener() ? listener()->cursorAtNewRow() : false;
}
+
+bool KexiDataItemInterface::isComboBox() const
+{
+ return false;
+}
+
+QWidget* KexiDataItemInterface::internalEditor() const
+{
+ return 0;
+}
diff --git a/kexi/core/kexidataiteminterface.h b/kexi/core/kexidataiteminterface.h
index 67d06d3..d0e15fe 100644
--- a/kexi/core/kexidataiteminterface.h
+++ b/kexi/core/kexidataiteminterface.h
@@ -224,6 +224,10 @@ public:
Q_UNUSED(actionName);
}
+ virtual bool isComboBox() const;
+
+ virtual QWidget* internalEditor() const;
+
protected:
/*! Initializes this editor with \a add value, which should be somewhat added to \
the current value (already storted in m_origValue).
diff --git a/kexi/formeditor/kexiformeventhandler.cpp \
b/kexi/formeditor/kexiformeventhandler.cpp index 4f35089..6366108 100644
--- a/kexi/formeditor/kexiformeventhandler.cpp
+++ b/kexi/formeditor/kexiformeventhandler.cpp
@@ -26,7 +26,7 @@
#include <kactioncollection.h>
#include <kaction.h>
-#include <tableview/kexitableviewdata.h>
+#include <dataviewcommon/kexitableviewdata.h>
#include <kexidb/queryschema.h>
#include <KexiMainWindowIface.h>
#include <kexipart.h>
diff --git a/kexi/kexi_export.h b/kexi/kexi_export.h
index 69eca08..0d8e183 100644
--- a/kexi/kexi_export.h
+++ b/kexi/kexi_export.h
@@ -46,6 +46,14 @@
# endif
#endif
+#ifndef KEXIDATATVIEWCOMMON_EXPORT
+# ifdef MAKE_KEXIDATAVIEWCOMMON_LIB
+# define KEXIDATAVIEWCOMMON_EXPORT KDE_EXPORT
+# else
+# define KEXIDATAVIEWCOMMON_EXPORT KDE_IMPORT
+# endif
+#endif
+
#ifndef KEXIEXTWIDGETS_EXPORT
# ifdef MAKE_KEXIEXTENDEDWIDGETS_LIB
# define KEXIEXTWIDGETS_EXPORT KDE_EXPORT
diff --git a/kexi/main/KexiMainWindow.cpp b/kexi/main/KexiMainWindow.cpp
index 053b93c..18b5679 100644
--- a/kexi/main/KexiMainWindow.cpp
+++ b/kexi/main/KexiMainWindow.cpp
@@ -108,8 +108,8 @@
#include "startup/KexiStartupDialog.h"
#include "startup/KexiStartupFileWidget.h"
#include "kexinamedialog.h"
-#include "printing/kexisimpleprintingpart.h"
-#include "printing/kexisimpleprintingpagesetup.h"
+//#include "printing/kexisimpleprintingpart.h"
+//#include "printing/kexisimpleprintingpagesetup.h"
//Extreme verbose debug
//#if defined(Q_WS_WIN)
diff --git a/kexi/main/printing/kexisimpleprintingengine.h \
b/kexi/main/printing/kexisimpleprintingengine.h index d1d3d53..5388b97 100644
--- a/kexi/main/printing/kexisimpleprintingengine.h
+++ b/kexi/main/printing/kexisimpleprintingengine.h
@@ -27,7 +27,7 @@ class KexiSimplePrintingSettings;
#include <kexidb/cursor.h>
#include <kexidb/utils.h>
#include <kexidb/queryschema.h>
-#include <widget/tableview/kexitableviewdata.h>
+#include <widget/dataviewcommon/kexitableviewdata.h>
#include <KoPageLayout.h>
#include <KoUnit.h>
diff --git a/kexi/plugins/autoforms/KexiAutoFormView.cpp \
b/kexi/plugins/autoforms/KexiAutoFormView.cpp index d10edf0..4fc312d 100644
--- a/kexi/plugins/autoforms/KexiAutoFormView.cpp
+++ b/kexi/plugins/autoforms/KexiAutoFormView.cpp
@@ -38,7 +38,7 @@ KexiAutoFormView::KexiAutoFormView(QWidget* parent): \
KexiView(parent), m_autoFor
#ifndef KEXI_MOBILE
m_pageSelector = new KexiRecordNavigator(this, 0);
- layout()->addWidget(m_pageSelector);
+ layout()->addWidget(dynamic_cast<QWidget*>(m_pageSelector));
m_pageSelector->setRecordCount(0);
m_pageSelector->setInsertingButtonVisible(true);
m_pageSelector->setLabelText(i18n("Record"));
diff --git a/kexi/plugins/autoforms/KexiAutoFormView.h \
b/kexi/plugins/autoforms/KexiAutoFormView.h index 90b353d..dcc84bb 100644
--- a/kexi/plugins/autoforms/KexiAutoFormView.h
+++ b/kexi/plugins/autoforms/KexiAutoFormView.h
@@ -54,7 +54,7 @@ public:
private:
QScrollArea *m_scrollArea;
- KexiRecordNavigatorIFace *m_pageSelector;
+ KexiRecordNavigatorIface *m_pageSelector;
AutoForm *m_autoForm;
KexiAutoFormPart::TempData* tempData() const;
diff --git a/kexi/plugins/autoforms/widgets/AutoForm.cpp \
b/kexi/plugins/autoforms/widgets/AutoForm.cpp index 1bbcda0..0144cde 100644
--- a/kexi/plugins/autoforms/widgets/AutoForm.cpp
+++ b/kexi/plugins/autoforms/widgets/AutoForm.cpp
@@ -24,7 +24,7 @@
#include <kexidb/cursor.h>
#include <kexidb/RecordData.h>
-AutoForm::AutoForm(QWidget* parent, KexiRecordNavigatorIFace *nav): QWidget(parent), \
m_previousRecord(0) +AutoForm::AutoForm(QWidget* parent, KexiRecordNavigatorIface \
*nav): QWidget(parent), m_previousRecord(0) {
setBackgroundRole(QPalette::Window);
m_layout = new QGridLayout(this);
diff --git a/kexi/plugins/autoforms/widgets/AutoForm.h \
b/kexi/plugins/autoforms/widgets/AutoForm.h index f90c9e1..df72c38 100644
--- a/kexi/plugins/autoforms/widgets/AutoForm.h
+++ b/kexi/plugins/autoforms/widgets/AutoForm.h
@@ -40,7 +40,7 @@ class AutoForm : public QWidget,
KEXI_DATAAWAREOBJECTINTERFACE
public:
- AutoForm(QWidget* parent, KexiRecordNavigatorIFace *nav);
+ AutoForm(QWidget* parent, KexiRecordNavigatorIface *nav);
virtual ~AutoForm();
protected:
diff --git a/kexi/plugins/forms/CMakeLists.txt b/kexi/plugins/forms/CMakeLists.txt
index c1fac62..ad02ae4 100644
--- a/kexi/plugins/forms/CMakeLists.txt
+++ b/kexi/plugins/forms/CMakeLists.txt
@@ -39,6 +39,7 @@ target_link_libraries(
kexidb
kexicore
kexiguiutils
+ kexidataviewcommon
kexidatatable
kexiextendedwidgets
${KDE4_KDECORE_LIBS}
@@ -92,6 +93,7 @@ target_link_libraries(
kformdesigner
kexidb
kexiutils
+ kexidataviewcommon
kexidatatable
kexiguiutils
${KOPROPERTY_LIBS}
diff --git a/kexi/plugins/forms/kexidbfactory.cpp \
b/kexi/plugins/forms/kexidbfactory.cpp index f3fb9c2..536ffde 100644
--- a/kexi/plugins/forms/kexidbfactory.cpp
+++ b/kexi/plugins/forms/kexidbfactory.cpp
@@ -65,7 +65,7 @@
#include "kexidataawarewidgetinfo.h"
#include "kexidbfactory.h"
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
//////////////////////////////////////////
diff --git a/kexi/plugins/forms/kexidbtextwidgetinterface.cpp \
b/kexi/plugins/forms/kexidbtextwidgetinterface.cpp index 4ff433c..73d17e7 100644
--- a/kexi/plugins/forms/kexidbtextwidgetinterface.cpp
+++ b/kexi/plugins/forms/kexidbtextwidgetinterface.cpp
@@ -18,7 +18,7 @@
*/
#include "kexidbtextwidgetinterface.h"
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include <kexidb/queryschema.h>
#include <kexiutils/utils.h>
#include <qpainter.h>
diff --git a/kexi/plugins/forms/kexiformscrollview.h \
b/kexi/plugins/forms/kexiformscrollview.h index f164326..a198911 100644
--- a/kexi/plugins/forms/kexiformscrollview.h
+++ b/kexi/plugins/forms/kexiformscrollview.h
@@ -21,13 +21,14 @@
#ifndef KEXIFORMSCROLLVIEW_H
#define KEXIFORMSCROLLVIEW_H
-#include "kexidataprovider.h"
+#include <widget/dataviewcommon/kexidataprovider.h>
#include <formeditor/kexiformeventhandler.h>
#include "widgets/kexidbform.h"
#include <widget/kexiscrollview.h>
#include <widget/utils/kexirecordnavigator.h>
#include <widget/utils/kexisharedactionclient.h>
#include <widget/tableview/kexidataawareobjectiface.h>
+#include <widget/dataviewcommon/kexidataawareobjectiface.h>
//! @short KexiFormScrollView class provides a widget for displaying data in a form \
view /*! This class also implements:
diff --git a/kexi/plugins/forms/kexiformview.cpp \
b/kexi/plugins/forms/kexiformview.cpp index 3397106..8afc47e 100644
--- a/kexi/plugins/forms/kexiformview.cpp
+++ b/kexi/plugins/forms/kexiformview.cpp
@@ -48,7 +48,7 @@
#include <kexidb/cursor.h>
#include <kexidb/utils.h>
#include <kexidb/preparedstatement.h>
-#include <tableview/kexitableviewdata.h>
+#include <dataviewcommon/kexitableviewdata.h>
#include <widget/kexiqueryparameters.h>
#include <kexiutils/utils.h>
#include <KexiMainWindowIface.h>
diff --git a/kexi/plugins/forms/kexiformview.h b/kexi/plugins/forms/kexiformview.h
index 9f0034d..5c11912 100644
--- a/kexi/plugins/forms/kexiformview.h
+++ b/kexi/plugins/forms/kexiformview.h
@@ -26,7 +26,7 @@
#include <QResizeEvent>
#include <QDropEvent>
-#include <widget/kexidataawareview.h>
+#include <widget/dataviewcommon/kexidataawareview.h>
#include <core/KexiWindow.h>
#include <core/KexiWindowData.h>
diff --git a/kexi/plugins/forms/widgets/kexidbautofield.h \
b/kexi/plugins/forms/widgets/kexidbautofield.h index 29d2a58..3f45007 100644
--- a/kexi/plugins/forms/widgets/kexidbautofield.h
+++ b/kexi/plugins/forms/widgets/kexidbautofield.h
@@ -29,7 +29,7 @@
#include <formeditor/container.h>
#include <formeditor/widgetwithsubpropertiesinterface.h>
#include <formeditor/FormWidgetInterface.h>
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
class QLabel;
diff --git a/kexi/plugins/forms/widgets/kexidbcheckbox.h \
b/kexi/plugins/forms/widgets/kexidbcheckbox.h index 18d0137..f7c2d18 100644
--- a/kexi/plugins/forms/widgets/kexidbcheckbox.h
+++ b/kexi/plugins/forms/widgets/kexidbcheckbox.h
@@ -21,7 +21,7 @@
#ifndef KexiDBCheckBox_H
#define KexiDBCheckBox_H
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include <formeditor/FormWidgetInterface.h>
#include <qcheckbox.h>
diff --git a/kexi/plugins/forms/widgets/kexidbform.h \
b/kexi/plugins/forms/widgets/kexidbform.h index 9d1e5fc..508239a 100644
--- a/kexi/plugins/forms/widgets/kexidbform.h
+++ b/kexi/plugins/forms/widgets/kexidbform.h
@@ -29,7 +29,7 @@
#include <formeditor/form.h>
#include <formeditor/FormWidget.h>
#include <formeditor/FormWidgetInterface.h>
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
class KexiDataAwareObjectInterface;
class KexiFormScrollView;
diff --git a/kexi/plugins/forms/widgets/kexidbimagebox.h \
b/kexi/plugins/forms/widgets/kexidbimagebox.h index d99c9bb..38ca731 100644
--- a/kexi/plugins/forms/widgets/kexidbimagebox.h
+++ b/kexi/plugins/forms/widgets/kexidbimagebox.h
@@ -21,7 +21,7 @@
#ifndef KexiDBImageBox_H
#define KexiDBImageBox_H
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include "kexiframe.h"
#include "kexidbutils.h"
#include <QContextMenuEvent>
diff --git a/kexi/plugins/forms/widgets/kexidblabel.h \
b/kexi/plugins/forms/widgets/kexidblabel.h index 6c10b7e..40fb044 100644
--- a/kexi/plugins/forms/widgets/kexidblabel.h
+++ b/kexi/plugins/forms/widgets/kexidblabel.h
@@ -27,7 +27,7 @@
#include <QShowEvent>
#include <QResizeEvent>
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include "kexidbtextwidgetinterface.h"
#include <widget/utils/kexidisplayutils.h>
#include <formeditor/FormWidgetInterface.h>
diff --git a/kexi/plugins/forms/widgets/kexidblineedit.h \
b/kexi/plugins/forms/widgets/kexidblineedit.h index 496deec..e13737b 100644
--- a/kexi/plugins/forms/widgets/kexidblineedit.h
+++ b/kexi/plugins/forms/widgets/kexidblineedit.h
@@ -27,7 +27,7 @@
#include <klineedit.h>
#include <qvalidator.h>
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include "kexidbtextwidgetinterface.h"
#include "kexidbutils.h"
#include <kexi_global.h>
diff --git a/kexi/plugins/forms/widgets/kexidbtextedit.h \
b/kexi/plugins/forms/widgets/kexidbtextedit.h index d35e371..0e1c7e3 100644
--- a/kexi/plugins/forms/widgets/kexidbtextedit.h
+++ b/kexi/plugins/forms/widgets/kexidbtextedit.h
@@ -21,7 +21,7 @@
#ifndef KexiDBTextEdit_H
#define KexiDBTextEdit_H
-#include "kexiformdataiteminterface.h"
+#include <widget/dataviewcommon/kexiformdataiteminterface.h>
#include "kexidbtextwidgetinterface.h"
#include "kexidbutils.h"
#include <formeditor/FormWidgetInterface.h>
diff --git a/kexi/plugins/queries/CMakeLists.txt \
b/kexi/plugins/queries/CMakeLists.txt index 103acc3..e4a20c9 100644
--- a/kexi/plugins/queries/CMakeLists.txt
+++ b/kexi/plugins/queries/CMakeLists.txt
@@ -20,6 +20,7 @@ target_link_libraries(
kexicore
kexidb
kexiextendedwidgets
+ kexidataviewcommon
kexidatatable
kexirelationsview
${KOPROPERTY_LIBS}
diff --git a/kexi/plugins/queries/kexiquerydesignerguieditor.cpp \
b/kexi/plugins/queries/kexiquerydesignerguieditor.cpp index b3cea49..338ba52 100644
--- a/kexi/plugins/queries/kexiquerydesignerguieditor.cpp
+++ b/kexi/plugins/queries/kexiquerydesignerguieditor.cpp
@@ -46,12 +46,12 @@
#include <KexiMainWindowIface.h>
#include <kexiinternalpart.h>
#include <kexitableview.h>
-#include <kexitableviewdata.h>
+#include <widget/dataviewcommon/kexitableviewdata.h>
#include <kexidragobjects.h>
#include <kexidatatable.h>
#include <kexi.h>
#include <kexisectionheader.h>
-#include <widget/tableview/kexidataawarepropertyset.h>
+#include <widget/dataviewcommon/kexidataawarepropertyset.h>
#include <widget/relations/KexiRelationsView.h>
#include <widget/relations/KexiRelationsTableContainer.h>
#include <koproperty/Property.h>
diff --git a/kexi/plugins/tables/CMakeLists.txt b/kexi/plugins/tables/CMakeLists.txt
index 5e6b411..a29b2b9 100644
--- a/kexi/plugins/tables/CMakeLists.txt
+++ b/kexi/plugins/tables/CMakeLists.txt
@@ -17,6 +17,7 @@ target_link_libraries(
kexihandler_table
kexicore
kexidb
+ kexidataviewcommon
kexidatatable
kexiextendedwidgets
${KOPROPERTY_LIBS}
diff --git a/kexi/plugins/tables/kexitabledesignerview.cpp \
b/kexi/plugins/tables/kexitabledesignerview.cpp index b032f7a..60bef56 100644
--- a/kexi/plugins/tables/kexitabledesignerview.cpp
+++ b/kexi/plugins/tables/kexitabledesignerview.cpp
@@ -51,7 +51,7 @@
#include <kexiutils/identifier.h>
#include <kexiproject.h>
#include <KexiMainWindowIface.h>
-#include <widget/tableview/kexidataawarepropertyset.h>
+#include <widget/dataviewcommon/kexidataawarepropertyset.h>
#include <widget/kexicustompropertyfactory.h>
#include <kexiutils/utils.h>
#include <KexiWindow.h>
diff --git a/kexi/plugins/tables/kexitabledesignerview_p.cpp \
b/kexi/plugins/tables/kexitabledesignerview_p.cpp index dd1b56a..67e090e 100644
--- a/kexi/plugins/tables/kexitabledesignerview_p.cpp
+++ b/kexi/plugins/tables/kexitabledesignerview_p.cpp
@@ -41,7 +41,7 @@
#include <kexiutils/identifier.h>
#include <kexiproject.h>
#include <KexiMainWindowIface.h>
-#include <widget/tableview/kexidataawarepropertyset.h>
+#include <widget/dataviewcommon/kexidataawarepropertyset.h>
#include <widget/kexicustompropertyfactory.h>
#include <kexiutils/utils.h>
#include <KexiWindow.h>
diff --git a/kexi/plugins/tables/kexitablepart.cpp \
b/kexi/plugins/tables/kexitablepart.cpp index e3b0edc..11e2754 100644
--- a/kexi/plugins/tables/kexitablepart.cpp
+++ b/kexi/plugins/tables/kexitablepart.cpp
@@ -30,7 +30,7 @@
#include <KexiMainWindowIface.h>
#include "kexiproject.h"
#include "kexipartinfo.h"
-#include "widget/kexidatatable.h"
+#include "widget/tableview/kexidatatable.h"
#include "widget/tableview/kexidatatableview.h"
#include "kexitabledesignerview.h"
#include "kexitabledesigner_dataview.h"
diff --git a/kexi/widget/CMakeLists.txt b/kexi/widget/CMakeLists.txt
index 7959326..0995457 100644
--- a/kexi/widget/CMakeLists.txt
+++ b/kexi/widget/CMakeLists.txt
@@ -42,8 +42,6 @@ IF (KEXI_MOBILE)
ELSE (KEXI_MOBILE)
LIST(APPEND kexiextendedwidgets_LIB_SRCS
- kexidataawareview.cpp
- kexidatatable.cpp
kexiscrollview.cpp
kexidbconnectionwidget.cpp
# pixmapcollection.cpp
diff --git a/kexi/widget/dataviewcommon/KexiTableViewColumn.h \
b/kexi/widget/dataviewcommon/KexiTableViewColumn.h index 9d9d730..8237fb7 100644
--- a/kexi/widget/dataviewcommon/KexiTableViewColumn.h
+++ b/kexi/widget/dataviewcommon/KexiTableViewColumn.h
@@ -42,7 +42,7 @@ class KexiTableViewData;
/*! Single column definition. */
-class KEXIDATATABLE_EXPORT KexiTableViewColumn
+class KEXIDATAVIEWCOMMON_EXPORT KexiTableViewColumn
{
public:
typedef QList<KexiTableViewColumn*> List;
diff --git a/kexi/widget/dataviewcommon/kexidataawareobjectiface.cpp \
b/kexi/widget/dataviewcommon/kexidataawareobjectiface.cpp index 6c381e4..9cbab47 \
100644
--- a/kexi/widget/dataviewcommon/kexidataawareobjectiface.cpp
+++ b/kexi/widget/dataviewcommon/kexidataawareobjectiface.cpp
@@ -155,14 +155,16 @@ void KexiDataAwareObjectInterface::setData(KexiTableViewData \
*data, bool owner) }
}
}
+
if (m_verticalHeader) {
m_verticalHeader->clear();
if (m_data)
m_verticalHeader->addLabels(m_data->count());
}
+//!Change the following:
if (m_data && m_data->count() == 0 && m_navPanel)
m_navPanel->setCurrentRecordNumber(0 + 1);
-
+
if (m_data && !theSameData) {
//! @todo: store sorting settings?
setSorting(-1);
diff --git a/kexi/widget/dataviewcommon/kexidataawareobjectiface.h \
b/kexi/widget/dataviewcommon/kexidataawareobjectiface.h index 3caaf8c..960ca02 100644
--- a/kexi/widget/dataviewcommon/kexidataawareobjectiface.h
+++ b/kexi/widget/dataviewcommon/kexidataawareobjectiface.h
@@ -42,7 +42,7 @@ class KMenu;
class KexiTableViewData;
class KexiRecordMarker;
class KexiTableViewHeader;
-class KexiRecordNavigatorIFace;
+class KexiRecordNavigatorIface;
#include <core/kexidataiteminterface.h>
namespace KexiDB
@@ -68,7 +68,7 @@ class RecordData;
This is not performed in KexiDataAwareObjectInterface because you may need
to access m_data in your desctructor.
*/
-class KEXIDATATABLE_EXPORT KexiDataAwareObjectInterface
+class KEXIDATAVIEWCOMMON_EXPORT KexiDataAwareObjectInterface
{
public:
KexiDataAwareObjectInterface();
@@ -869,12 +869,8 @@ protected:
KexiDataItemInterface *m_editor;
// KexiTableEdit *m_editor;
-#ifdef KEXI_MOBILE
/*! Navigation panel, used if navigationPanelEnabled is true. */
- KexiRecordNavigatorIFace *m_navPanel; //!< main navigation widget
-#else
- KexiRecordNavigatore *m_navPanel; //!< main navigation widget
-#endif
+ KexiRecordNavigatorIface *m_navPanel; //!< main navigation widget
bool m_navPanelEnabled;
diff --git a/kexi/widget/dataviewcommon/kexidataawarepropertyset.h \
b/kexi/widget/dataviewcommon/kexidataawarepropertyset.h index 364e04b..df72653 100644
--- a/kexi/widget/dataviewcommon/kexidataawarepropertyset.h
+++ b/kexi/widget/dataviewcommon/kexidataawarepropertyset.h
@@ -53,7 +53,7 @@ class KexiDataAwareObjectInterface;
- signalling via KexiView::propertySetSwitched() that current property
set has changed (e.g. on moving to other row)
*/
-class KEXIDATATABLE_EXPORT KexiDataAwarePropertySet : public QObject
+class KEXIDATAVIEWCOMMON_EXPORT KexiDataAwarePropertySet : public QObject
{
Q_OBJECT
diff --git a/kexi/widget/dataviewcommon/kexidataawareview.h \
b/kexi/widget/dataviewcommon/kexidataawareview.h index e6f6454..741647d 100644
--- a/kexi/widget/dataviewcommon/kexidataawareview.h
+++ b/kexi/widget/dataviewcommon/kexidataawareview.h
@@ -39,7 +39,7 @@ class KexiSharedActionClient;
The view also implements KexiSearchAndReplaceViewInterface to support \
search/replace features used by shared KexiFindDialog.
*/
-class KEXIEXTWIDGETS_EXPORT KexiDataAwareView : public KexiView,
+class KEXIDATAVIEWCOMMON_EXPORT KexiDataAwareView : public KexiView,
public KexiSearchAndReplaceViewInterface
{
Q_OBJECT
diff --git a/kexi/widget/dataviewcommon/kexidataprovider.cpp \
b/kexi/widget/dataviewcommon/kexidataprovider.cpp index 17a800f..225009b 100644
--- a/kexi/widget/dataviewcommon/kexidataprovider.cpp
+++ b/kexi/widget/dataviewcommon/kexidataprovider.cpp
@@ -25,9 +25,6 @@
#include <klocale.h>
#include "kexitableviewdata.h"
-#ifndef KEXI_MOBILE
-#include "kexicomboboxbase.h"
-#endif
#include <kexidb/queryschema.h>
#include <kexiutils/utils.h>
#include <kexi_global.h>
@@ -293,15 +290,13 @@ void KexiFormDataProvider::invalidateDataSources(const \
QSet<QString>& invalidSou
KexiDB::QueryColumnInfo *visibleColumnInfo = fieldsExpanded[ \
indexForVisibleLookupValue ]; if (visibleColumnInfo) {
item->setVisibleColumnInfo(visibleColumnInfo);
-#ifndef KEXI_MOBILE
- if (dynamic_cast<KexiComboBoxBase*>(item) && m_mainWidget
- && \
dynamic_cast<KexiComboBoxBase*>(item)->internalEditor()) { +
+ if (item->isComboBox() && m_mainWidget && \
item->internalEditor()) {
// m_mainWidget (dbform) should filter the (just created \
using setVisibleColumnInfo())
// combo box' internal editor (actually, only if the combo \
is in 'editable' mode)
- dynamic_cast<KexiComboBoxBase*>(item)->internalEditor()
- ->installEventFilter(m_mainWidget);
+ item->internalEditor()->installEventFilter(m_mainWidget);
}
-#endif
+
kDebug() << " ALSO SET visibleColumn=" << \
visibleColumnInfo->debugString()
<< "\n at position " << indexForVisibleLookupValue;
}
diff --git a/kexi/widget/dataviewcommon/kexidataprovider.h \
b/kexi/widget/dataviewcommon/kexidataprovider.h index 3610f73..6ce8384 100644
--- a/kexi/widget/dataviewcommon/kexidataprovider.h
+++ b/kexi/widget/dataviewcommon/kexidataprovider.h
@@ -41,7 +41,7 @@ class RecordData;
return ("name", "surname") list, so the cursor's query can be simplified
and thus more effective.
*/
-class KEXIFORMUTILS_EXPORT KexiFormDataProvider : public KexiDataItemChangesListener
+class KEXIDATAVIEWCOMMON_EXPORT KexiFormDataProvider : public \
KexiDataItemChangesListener {
public:
KexiFormDataProvider();
diff --git a/kexi/widget/dataviewcommon/kexiformdataiteminterface.h \
b/kexi/widget/dataviewcommon/kexiformdataiteminterface.h index b8e2986..e59f94f \
100644
--- a/kexi/widget/dataviewcommon/kexiformdataiteminterface.h
+++ b/kexi/widget/dataviewcommon/kexiformdataiteminterface.h
@@ -30,7 +30,7 @@ class Field;
}
//! An interface for declaring form widgets to be data-aware.
-class KEXIEXTWIDGETS_EXPORT KexiFormDataItemInterface : public KexiDataItemInterface
+class KEXIDATAVIEWCOMMON_EXPORT KexiFormDataItemInterface : public \
KexiDataItemInterface {
public:
KexiFormDataItemInterface();
diff --git a/kexi/widget/dataviewcommon/kexitableviewdata.h \
b/kexi/widget/dataviewcommon/kexitableviewdata.h index 225d1c3..6f89308 100644
--- a/kexi/widget/dataviewcommon/kexitableviewdata.h
+++ b/kexi/widget/dataviewcommon/kexitableviewdata.h
@@ -44,7 +44,7 @@ typedef KexiUtils::AutodeletedList<KexiDB::RecordData*> \
KexiTableViewDataBase; Original author: Till Busch.
Reimplemented by Jarosław Staniek.
*/
-class KEXIDATATABLE_EXPORT KexiTableViewData : public QObject, protected \
KexiTableViewDataBase +class KEXIDATAVIEWCOMMON_EXPORT KexiTableViewData : public \
QObject, protected KexiTableViewDataBase {
Q_OBJECT
diff --git a/kexi/widget/tableview/CMakeLists.txt \
b/kexi/widget/tableview/CMakeLists.txt index 48be3f6..47ec77f 100644
--- a/kexi/widget/tableview/CMakeLists.txt
+++ b/kexi/widget/tableview/CMakeLists.txt
@@ -22,7 +22,7 @@ set(kexidatatable_LIB_SRCS
kexidatetimetableedit.cpp
kexitextformatter.cpp
kexitableviewheader.cpp
-
+ kexidatatable.cpp
)
@@ -30,6 +30,7 @@ kde4_add_library(kexidatatable SHARED ${kexidatatable_LIB_SRCS})
target_link_libraries(
kexidatatable
+ kexidataviewcommon
kexicore
kexiutils
kexiguiutils
diff --git a/kexi/widget/tableview/kexicelleditorfactory.cpp \
b/kexi/widget/tableview/kexicelleditorfactory.cpp index 8dc60bf..1e0ed66 100644
--- a/kexi/widget/tableview/kexicelleditorfactory.cpp
+++ b/kexi/widget/tableview/kexicelleditorfactory.cpp
@@ -25,7 +25,7 @@
#include <kexidb/indexschema.h>
#include <kexidb/tableschema.h>
-#include "kexitableviewdata.h"
+#include <widget/dataviewcommon/kexitableviewdata.h>
#ifdef __GNUC__
#warning TODO reenable #include "kexidatetableedit.h"
#else
diff --git a/kexi/widget/tableview/kexicomboboxbase.cpp \
b/kexi/widget/tableview/kexicomboboxbase.cpp index 7898648..88411cc 100644
--- a/kexi/widget/tableview/kexicomboboxbase.cpp
+++ b/kexi/widget/tableview/kexicomboboxbase.cpp
@@ -27,7 +27,7 @@
#include "kexicomboboxbase.h"
#include <widget/utils/kexicomboboxdropdownbutton.h>
#include "kexicomboboxpopup.h"
-//#include "kexitableview.h"
+#include "kexitableview.h"
#include "kexi.h"
#include <klineedit.h>
diff --git a/kexi/widget/tableview/kexicomboboxbase.h \
b/kexi/widget/tableview/kexicomboboxbase.h index decee98..ca0f756 100644
--- a/kexi/widget/tableview/kexicomboboxbase.h
+++ b/kexi/widget/tableview/kexicomboboxbase.h
@@ -22,7 +22,7 @@
#define _KEXICOMBOBOXBASE_H_
#include "kexidb/field.h"
-//#include "kexiinputtableedit.h"
+#include "kexiinputtableedit.h"
#include <kexidb/lookupfieldschema.h>
#include <kexiutils/tristate.h>
diff --git a/kexi/widget/tableview/kexicomboboxtableedit.h \
b/kexi/widget/tableview/kexicomboboxtableedit.h index c452d6c..cf3606d 100644
--- a/kexi/widget/tableview/kexicomboboxtableedit.h
+++ b/kexi/widget/tableview/kexicomboboxtableedit.h
@@ -35,7 +35,7 @@ class KexiTableViewColumn;
/*! @short Drop-down cell editor.
*/
-class KexiComboBoxTableEdit : public KexiInputTableEdit, public KexiComboBoxBase
+class KexiComboBoxTableEdit : public KexiInputTableEdit, virtual public \
KexiComboBoxBase {
Q_OBJECT
diff --git a/kexi/widget/tableview/kexidataawareobjectiface.h \
b/kexi/widget/tableview/kexidataawareobjectiface.h new file mode 100644
index 0000000..e69de29
diff --git a/kexi/widget/tableview/kexidatatable.h \
b/kexi/widget/tableview/kexidatatable.h index be52e44..4637ec9 100644
--- a/kexi/widget/tableview/kexidatatable.h
+++ b/kexi/widget/tableview/kexidatatable.h
@@ -22,7 +22,7 @@
#ifndef KEXIDATATABLE_H
#define KEXIDATATABLE_H
-#include "kexidataawareview.h"
+#include <widget/dataviewcommon/kexidataawareview.h>
class KexiDataTableView;
class KexiTableView;
@@ -39,7 +39,7 @@ class Cursor;
or from KexiDB-compatible database source.
@see KexiFormView
*/
-class KEXIEXTWIDGETS_EXPORT KexiDataTable : public KexiDataAwareView
+class KEXIDATATABLE_EXPORT KexiDataTable : public KexiDataAwareView
{
Q_OBJECT
diff --git a/kexi/widget/tableview/kexitableedit.cpp \
b/kexi/widget/tableview/kexitableedit.cpp index cd26d18..a83f6c9 100644
--- a/kexi/widget/tableview/kexitableedit.cpp
+++ b/kexi/widget/tableview/kexitableedit.cpp
@@ -19,7 +19,7 @@
*/
#include "kexitableedit.h"
-#include "kexidataawareobjectiface.h"
+#include <widget/dataviewcommon/kexidataawareobjectiface.h>
#include <kexidb/field.h>
#include <kexidb/utils.h>
diff --git a/kexi/widget/tableview/kexitableview.cpp \
b/kexi/widget/tableview/kexitableview.cpp index 5da3f86..5592cb0 100644
--- a/kexi/widget/tableview/kexitableview.cpp
+++ b/kexi/widget/tableview/kexitableview.cpp
@@ -118,7 +118,7 @@ public:
//const int bottomMargin = m_tv->d->appearance.navigatorEnabled ? \
m_tv->m_navPanel->height() : 0;
if (KexiUtils::hasParent(m_tv->verticalHeader(), m_tv->childAt(pos))) {
return i18n("Contains a pointer to the currently selected row");
- } else if (KexiUtils::hasParent(m_tv->m_navPanel, m_tv->childAt(pos))) {
+ } else if (KexiUtils::hasParent(dynamic_cast<QObject*>(m_tv->m_navPanel), \
m_tv->childAt(pos))) { return i18n("Row navigator");
// return QWhatsThis::textFor(m_tv->m_navPanel, QPoint( pos.x(), pos.y() - \
m_tv->height() + bottomMargin )); }
@@ -371,9 +371,9 @@ void KexiTableView::setupNavigator()
updateScrollBars();
m_navPanel = new KexiRecordNavigator(this, this, leftMargin());
- m_navPanel->setObjectName("navPanel");
+ navPanelWidget()->setObjectName("navPanel");
m_navPanel->setRecordHandler(this);
- m_navPanel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
+ navPanelWidget()->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
}
void KexiTableView::initDataContents()
@@ -539,7 +539,7 @@ QSize KexiTableView::sizeHint() const
{
const QSize &ts = tableSize();
int w = qMax(ts.width() + leftMargin() + verticalScrollBar()->sizeHint().width() \
+ 2 * 2,
- (m_navPanel->isVisible() ? m_navPanel->width() : 0));
+ (navPanelWidget()->isVisible() ? navPanelWidget()->width() : 0));
int h = qMax(ts.height() + topMargin() + \
horizontalScrollBar()->sizeHint().height(), minimumSizeHint().height());
w = qMin(w, qApp->desktop()->availableGeometry(this).width() * 3 / 4); //stretch
@@ -561,7 +561,7 @@ QSize KexiTableView::minimumSizeHint() const
{
return QSize(
leftMargin() + ((columns() > 0) ? columnWidth(0) : \
KEXI_DEFAULT_DATA_COLUMN_WIDTH) + 2*2,
- d->rowHeight*5 / 2 + topMargin() + (m_navPanel && \
m_navPanel->isVisible() ? m_navPanel->height() : 0) + d->rowHeight*5 \
/ 2 + topMargin() + (m_navPanel && navPanelWidget()->isVisible() ? \
navPanelWidget()->height() : 0) );
}
@@ -1028,7 +1028,7 @@ void KexiTableView::paintEmptyArea(QPainter *p, int cx, int cy, \
int cw, int ch) ? horizontalScrollBar()->sizeHint().height() : 0;
reg = reg.subtract(QRect(QPoint(0, 0), ts
- - QSize(0, qMax(((m_navPanel && \
m_navPanel->isVisible()) ? m_navPanel->height() : 0), scrollBarHeight) + - \
QSize(0, qMax(((m_navPanel && navPanelWidget()->isVisible()) ? \
navPanelWidget()->height() : 0), scrollBarHeight)
/*- (horizontalScrollBar()->isVisible() ? \
horizontalScrollBar()->sizeHint().height() / 2 : 0)
+ (horizontalScrollBar()->isVisible() ? 0 :
d->internal_bottomMargin
@@ -2053,9 +2053,9 @@ void KexiTableView::ensureCellVisible(int row, int col/*=-1*/)
}
}*/
- if (m_navPanel && m_navPanel->isVisible() && horizontalScrollBar()->isHidden()) \
{ + if (m_navPanel && navPanelWidget()->isVisible() && \
horizontalScrollBar()->isHidden()) {
//a hack: for visible navigator: increase height of the visible rect 'r'
- r.setBottom(r.bottom() + m_navPanel->height());
+ r.setBottom(r.bottom() + navPanelWidget()->height());
}
QPoint pcenter = r.center();
@@ -2606,7 +2606,7 @@ void KexiTableView::setAppearance(const Appearance& a)
if (a.rowHighlightingEnabled)
m_updateEntireRowWhenMovingToOtherRow = true;
- m_navPanel->setVisible(a.navigatorEnabled);
+ navPanelWidget()->setVisible(a.navigatorEnabled);
d->highlightedRow = -1;
//! @todo is setMouseTracking useful for other purposes?
viewport()->setMouseTracking(a.rowMouseOverHighlightingEnabled);
@@ -2666,4 +2666,9 @@ void KexiTableView::slotContentsMoving(int x, int y)
updateContents(); // (js) needed in Qt 4, no idea why, this fix consumed me \
hours }*/
+QWidget* KexiTableView::navPanelWidget() const
+{
+ return dynamic_cast<QWidget*>(m_navPanel);
+}
+
#include "kexitableview.moc"
diff --git a/kexi/widget/tableview/kexitableview.h \
b/kexi/widget/tableview/kexitableview.h index 40a043f..2db532c 100644
--- a/kexi/widget/tableview/kexitableview.h
+++ b/kexi/widget/tableview/kexitableview.h
@@ -677,6 +677,8 @@ protected:
// //! Called to repaint contents after a row is deleted.
// void repaintAfterDelete();
+ QWidget* navPanelWidget() const;
+
KexiTableViewPrivate * const d;
class WhatsThis;
diff --git a/kexi/widget/utils/kexirecordnavigator.h \
b/kexi/widget/utils/kexirecordnavigator.h index 2a504fc..90227e5 100644
--- a/kexi/widget/utils/kexirecordnavigator.h
+++ b/kexi/widget/utils/kexirecordnavigator.h
@@ -54,7 +54,7 @@ public:
virtual long currentRecord() { return 0; }
};
-class KEXIGUIUTILS_EXPORT KexiRecordNavigatorIFace
+class KEXIGUIUTILS_EXPORT KexiRecordNavigatorIface
{
public:
/*! Sets current record number for this navigator,
@@ -74,6 +74,25 @@ public:
/*! Sets visibility of "inserting" button. */
virtual void setInsertingButtonVisible(bool set) = 0;
+ /*! Sets record navigator handler. This allows to react
+ o n actions performed within navigator and vice versa. */
+ virtual void setRecordHandler(KexiRecordNavigatorHandler *handler) = 0;
+
+ /*! Shows or hides "editing" indicator. */
+ virtual void showEditingIndicator(bool show) = 0;
+
+ /*! Sets horizontal bar's \a hbar (at the bottom) geometry so this record \
navigator + i s properly positioned together with horizontal scroll bar. This \
me*thod is used + in QScrollView::setHBarGeometry() implementations:
+ see KexiTableView::setHBarGeometry() and KexiFormScrollView::setHBarGeometry()
+ for usage examples. */
+ virtual void setHBarGeometry(QScrollBar & hbar, int x, int y, int w, int h) = 0;
+
+ virtual void updateGeometry(int leftMargin) = 0;
+
+ /*! Sets label text at the left of the for record navigator's button.
+ By default this label contains transla*ted "Row:" text. */
+ virtual void setLabelText(const QString& text) = 0;
};
#ifndef KEXI_MOBILE
@@ -92,7 +111,7 @@ public:
Note that using this method 2), you can create more than one navigator widget
connected with your data-aware object (does not matter if this is useful).
*/
-class KEXIGUIUTILS_EXPORT KexiRecordNavigator : public QWidget, public \
KexiRecordNavigatorIFace +class KEXIGUIUTILS_EXPORT KexiRecordNavigator : public \
QWidget, public KexiRecordNavigatorIface {
Q_OBJECT
@@ -129,7 +148,7 @@ public:
in QScrollView::setHBarGeometry() implementations:
see KexiTableView::setHBarGeometry() and KexiFormScrollView::setHBarGeometry()
for usage examples. */
- void setHBarGeometry(QScrollBar & hbar, int x, int y, int w, int h);
+ virtual void setHBarGeometry(QScrollBar & hbar, int x, int y, int w, int h);
/*! @internal used for keyboard handling. */
virtual bool eventFilter(QObject *o, QEvent *e);
@@ -169,7 +188,7 @@ public slots:
void setEditingIndicatorEnabled(bool set);
/*! Shows or hides "editing" indicator. */
- void showEditingIndicator(bool show);
+ virtual void showEditingIndicator(bool show);
virtual void setEnabled(bool set);
@@ -184,11 +203,11 @@ public slots:
By default count is 0. */
virtual void setRecordCount(uint count);
- void updateGeometry(int leftMargin);
+ virtual void updateGeometry(int leftMargin);
/*! Sets label text at the left of the for record navigator's button.
By default this label contains translated "Row:" text. */
- void setLabelText(const QString& text);
+ virtual void setLabelText(const QString& text);
void setButtonToolTipText(KexiRecordNavigator::Button, const QString&);
signals:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic