summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/inc/TableDesignControl.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/inc/TableDesignControl.hxx')
-rw-r--r--dbaccess/source/ui/inc/TableDesignControl.hxx108
1 files changed, 108 insertions, 0 deletions
diff --git a/dbaccess/source/ui/inc/TableDesignControl.hxx b/dbaccess/source/ui/inc/TableDesignControl.hxx
new file mode 100644
index 000000000000..a448b720bc1a
--- /dev/null
+++ b/dbaccess/source/ui/inc/TableDesignControl.hxx
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef DBAUI_TABLEDESIGNCONTROL_HXX
+#define DBAUI_TABLEDESIGNCONTROL_HXX
+
+#ifndef _TABBAR_HXX //autogen
+#include <svtools/tabbar.hxx>
+#endif
+#ifndef _SVTOOLS_EDITBROWSEBOX_HXX_
+#include <svtools/editbrowsebox.hxx>
+#endif
+
+#ifndef DBACCESS_TABLEDESIGN_ICLIPBOARDTEST_HXX
+#include "IClipBoardTest.hxx"
+#endif
+#ifndef DBAUI_TYPEINFO_HXX
+#include "TypeInfo.hxx"
+#endif
+
+#define TABPAGESIZE 70
+namespace dbaui
+{
+ class OTableDesignView;
+ class OTypeInfo;
+ //==================================================================
+ class OTableRowView : public ::svt::EditBrowseBox
+ ,public IClipboardTest
+ {
+ friend class OTableDesignUndoAct;
+
+ protected:
+ long m_nDataPos; // derzeit benoetigte Zeile
+ long m_nCurrentPos; // Aktuelle Position der ausgewaehlten Column
+ private:
+ sal_uInt16 m_nCurUndoActId;
+ protected:
+ sal_Bool m_bCurrentModified;
+ sal_Bool m_bUpdatable;
+ sal_Bool m_bClipboardFilled;
+
+ public:
+ OTableRowView(Window* pParent);
+ virtual ~OTableRowView();
+
+ virtual void SetCellData( long nRow, sal_uInt16 nColId, const TOTypeInfoSP& _pTypeInfo ) = 0;
+ virtual void SetCellData( long nRow, sal_uInt16 nColId, const ::com::sun::star::uno::Any& _rNewData ) = 0;
+ virtual ::com::sun::star::uno::Any GetCellData( long nRow, sal_uInt16 nColId ) = 0;
+ virtual void SetControlText( long nRow, sal_uInt16 nColId, const String& rText ) = 0;
+ virtual String GetControlText( long nRow, sal_uInt16 nColId ) = 0;
+
+ virtual OTableDesignView* GetView() const = 0;
+
+ sal_uInt16 GetCurUndoActId(){ return m_nCurUndoActId; }
+
+ // IClipboardTest
+ virtual void cut();
+ virtual void copy();
+ virtual void paste();
+
+ protected:
+ void Paste( long nRow );
+
+ virtual void CopyRows() = 0;
+ virtual void DeleteRows() = 0;
+ virtual void InsertRows( long nRow ) = 0;
+ virtual void InsertNewRows( long nRow ) = 0;
+
+ virtual sal_Bool IsPrimaryKeyAllowed( long nRow ) = 0;
+ virtual sal_Bool IsInsertNewAllowed( long nRow ) = 0;
+ virtual sal_Bool IsDeleteAllowed( long nRow ) = 0;
+
+ virtual sal_Bool IsUpdatable() const {return m_bUpdatable;}
+ virtual void SetUpdatable( sal_Bool bUpdate=sal_True );
+
+ virtual RowStatus GetRowStatus(long nRow) const;
+ virtual void KeyInput(const KeyEvent& rEvt);
+ virtual void Command( const CommandEvent& rEvt );
+
+ virtual void Init();
+ };
+}
+#endif // DBAUI_TABLEDESIGNCONTROL_HXX
+
+