Kaydet (Commit) 57a8c00e authored tarafından Markus Mohrhard's avatar Markus Mohrhard Kaydeden (comit) Markus Mohrhard

import table as ScDBData

Conflicts:
	sc/source/filter/inc/orcusinterface.hxx
	sc/source/filter/orcus/interface.cxx

Change-Id: Ibce6247b19ca7c0788743baba24d07722500efd0
üst 27f69931
...@@ -284,5 +284,48 @@ public: ...@@ -284,5 +284,48 @@ public:
void setStatusIndicator(const com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator>& rIndicator); void setStatusIndicator(const com::sun::star::uno::Reference<com::sun::star::task::XStatusIndicator>& rIndicator);
}; };
class ScOrcusTable : public orcus::spreadsheet::iface::import_table
{
private:
SCTAB mnTab;
ScDocument& mrDoc;
ScOrcusAutoFilter maAutoFilter;
ScRange maRange;
OUString maName;
public:
ScOrcusTable(SCTAB nTab, ScDocument& rDoc);
virtual ~ScOrcusTable();
virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() SAL_OVERRIDE;
virtual void set_identifier(size_t id) SAL_OVERRIDE;
virtual void set_range(const char* p_ref, size_t n_ref) SAL_OVERRIDE;
virtual void set_totals_row_count(size_t row_count) SAL_OVERRIDE;
virtual void set_name(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_display_name(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_column_count(size_t n) SAL_OVERRIDE;
virtual void set_column_identifier(size_t id) SAL_OVERRIDE;
virtual void set_column_name(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_column_totals_row_label(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_column_totals_row_function(orcus::spreadsheet::totals_row_function_t func) SAL_OVERRIDE;
virtual void commit_column() SAL_OVERRIDE;
virtual void set_style_name(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_style_show_first_column(bool b) SAL_OVERRIDE;
virtual void set_style_show_last_column(bool b) SAL_OVERRIDE;
virtual void set_style_show_row_stripes(bool b) SAL_OVERRIDE;
virtual void set_style_show_column_stripes(bool b) SAL_OVERRIDE;
virtual void commit() SAL_OVERRIDE;
};
#endif #endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "docoptio.hxx" #include "docoptio.hxx"
#include "globstr.hrc" #include "globstr.hrc"
#include "compiler.hxx" #include "compiler.hxx"
#include "dbdata.hxx"
#include <formula/token.hxx> #include <formula/token.hxx>
#include <tools/datetime.hxx> #include <tools/datetime.hxx>
...@@ -726,4 +727,138 @@ void ScOrcusAutoFilter::commit() ...@@ -726,4 +727,138 @@ void ScOrcusAutoFilter::commit()
SAL_INFO("sc.orcus.autofilter", "commit"); SAL_INFO("sc.orcus.autofilter", "commit");
} }
ScOrcusTable::ScOrcusTable(SCTAB nTab, ScDocument& rDoc):
mnTab(nTab),
mrDoc(rDoc),
maAutoFilter(rDoc)
{
}
ScOrcusTable::~ScOrcusTable()
{
}
os::iface::import_auto_filter* ScOrcusTable::get_auto_filter()
{
return &maAutoFilter;
}
void ScOrcusTable::set_identifier(size_t id)
{
SAL_INFO("sc.orcus.table", "set_identifier :" << id);
}
namespace {
std::ostream& operator<<(std::ostream& rStrm, const ScAddress& rAddr)
{
rStrm << "Col: " << rAddr.Col() << ", Row: " << rAddr.Row() << ", Tab: " << rAddr.Tab();
return rStrm;
}
std::ostream& operator<<(std::ostream& rStrm, const ScRange& rRange)
{
rStrm << "aStart: " << rRange.aStart << std::endl;
rStrm << "aEnd: " << rRange.aEnd;
return rStrm;
}
}
void ScOrcusTable::set_range(const char* p_ref, size_t n_ref)
{
OUString aRange(p_ref, n_ref, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_range: " << aRange);
maRange.Parse(aRange);
SAL_INFO("sc.orcus.table", "set_range translated range: " << maRange);
}
void ScOrcusTable::set_totals_row_count(size_t row_count)
{
SAL_INFO("sc.orcus.table", "set_totals_row_count: " << row_count);
}
void ScOrcusTable::set_name(const char* p, size_t n)
{
maName = OUString(p, n, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_name: " << maName);
}
void ScOrcusTable::set_display_name(const char* p, size_t n)
{
OUString aName(p, n, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_display_name: " << aName);
}
void ScOrcusTable::set_column_count(size_t n)
{
SAL_INFO("sc.orcus.table", "set_column_count: " << n);
}
void ScOrcusTable::set_column_identifier(size_t id)
{
SAL_INFO("sc.orcus.table", "set_column_identifier: " << id);
}
void ScOrcusTable::set_column_name(const char* p, size_t n)
{
OUString aName(p, n, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_column_name: " << aName);
}
void ScOrcusTable::set_column_totals_row_label(const char* p, size_t n)
{
OUString aLabel(p, n, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_column_totals_row_label: " << aLabel);
}
void ScOrcusTable::set_column_totals_row_function(os::totals_row_function_t )
{
SAL_INFO("sc.orcus.table", "set_column_totals_row_function");
}
void ScOrcusTable::commit_column()
{
SAL_INFO("sc.orcus.table", "commit_column");
}
void ScOrcusTable::set_style_name(const char* p, size_t n)
{
OUString aName(p, n, RTL_TEXTENCODING_UTF8);
SAL_INFO("sc.orcus.table", "set_style_name: " << aName);
}
void ScOrcusTable::set_style_show_first_column(bool b)
{
SAL_INFO("sc.orcus.table", "set_style_show_first_column: " << b);
}
void ScOrcusTable::set_style_show_last_column(bool b)
{
SAL_INFO("sc.orcus.table", "set_style_show_last_column: " << b);
}
void ScOrcusTable::set_style_show_row_stripes(bool b)
{
SAL_INFO("sc.orcus.table", "set_style_show_row_stripes: " << b);
}
void ScOrcusTable::set_style_show_column_stripes(bool b)
{
SAL_INFO("sc.orcus.table", "set_style_show_column_stripes: " << b);
}
void ScOrcusTable::commit()
{
SAL_INFO("sc.orcus.table", "commit");
ScDBData* pDBData = new ScDBData(maName, mnTab,
maRange.aStart.Col(), maRange.aStart.Row(),
maRange.aEnd.Col(), maRange.aEnd.Row());
if(!mrDoc.GetDBCollection()->getNamedDBs().insert(pDBData))
delete pDBData;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment