Kaydet (Commit) 1f43fa33 authored tarafından Markus Mohrhard's avatar Markus Mohrhard Kaydeden (comit) Markus Mohrhard

initial work for conditional formatting import for orcus

Conflicts:
	sc/source/filter/inc/orcusinterface.hxx

Change-Id: If79f58c44072b7c2c20fc2026b2a6eed6d202b63
üst 81abc70a
......@@ -79,6 +79,64 @@ public:
virtual size_t commit_segments() SAL_OVERRIDE;
};
class ScOrcusConditionalFormat : public orcus::spreadsheet::iface::import_conditional_format
{
public:
ScOrcusConditionalFormat(SCTAB nTab, ScDocument& rDoc);
virtual ~ScOrcusConditionalFormat();
virtual void set_color(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) SAL_OVERRIDE;
virtual void set_formula(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_condition_type(orcus::spreadsheet::condition_type_t type) SAL_OVERRIDE;
virtual void set_date(orcus::spreadsheet::condition_date_t date) SAL_OVERRIDE;
virtual void commit_condition() SAL_OVERRIDE;
virtual void set_icon_name(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_databar_gradient(bool gradient) SAL_OVERRIDE;
virtual void set_databar_axis(orcus::spreadsheet::databar_axis_t axis) SAL_OVERRIDE;
virtual void set_databar_color_positive(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) SAL_OVERRIDE;
virtual void set_databar_color_negative(orcus::spreadsheet::color_elem_t alpha, orcus::spreadsheet::color_elem_t red,
orcus::spreadsheet::color_elem_t green, orcus::spreadsheet::color_elem_t blue) SAL_OVERRIDE;
virtual void set_min_databar_length(double length) SAL_OVERRIDE;
virtual void set_max_databar_length(double length) SAL_OVERRIDE;
virtual void set_show_value(bool show) SAL_OVERRIDE;
virtual void set_iconset_reverse(bool reverse) SAL_OVERRIDE;
virtual void set_xf_id(size_t xf) SAL_OVERRIDE;
virtual void set_operator(orcus::spreadsheet::condition_operator_t condition_type) SAL_OVERRIDE;
virtual void set_type(orcus::spreadsheet::conditional_format_t type) SAL_OVERRIDE;
virtual void commit_entry() SAL_OVERRIDE;
virtual void set_range(const char* p, size_t n) SAL_OVERRIDE;
virtual void set_range(orcus::spreadsheet::row_t row_start, orcus::spreadsheet::col_t col_start,
orcus::spreadsheet::row_t row_end, orcus::spreadsheet::col_t col_end) SAL_OVERRIDE;
virtual void commit_format() SAL_OVERRIDE;
private:
SCTAB mnTab;
ScDocument& mrDoc;
};
class ScOrcusAutoFilter : public orcus::spreadsheet::iface::import_auto_filter
{
public:
......@@ -130,6 +188,7 @@ class ScOrcusSheet : public orcus::spreadsheet::iface::import_sheet
sc::SharedFormulaGroups maFormulaGroups;
ScOrcusAutoFilter maAutoFilter;
ScOrcusSheetProperties maProperties;
ScOrcusConditionalFormat maConditionalFormat;
typedef std::map<size_t, ScRangeData*> SharedFormulaContainer;
SharedFormulaContainer maSharedFormulas;
......@@ -144,6 +203,7 @@ public:
virtual orcus::spreadsheet::iface::import_auto_filter* get_auto_filter() SAL_OVERRIDE { return &maAutoFilter; }
virtual orcus::spreadsheet::iface::import_table* get_table() SAL_OVERRIDE;
virtual orcus::spreadsheet::iface::import_sheet_properties* get_sheet_properties() SAL_OVERRIDE;
virtual orcus::spreadsheet::iface::import_conditional_format* get_conditional_format() SAL_OVERRIDE;
// Orcus import interface
virtual void set_auto(orcus::spreadsheet::row_t row, orcus::spreadsheet::col_t col, const char* p, size_t n) SAL_OVERRIDE;
......
......@@ -281,6 +281,127 @@ void ScOrcusSheetProperties::set_merge_cell_range(const char* /*p_range*/, size_
{
}
ScOrcusConditionalFormat::ScOrcusConditionalFormat(SCTAB nTab, ScDocument& rDoc):
mnTab(nTab),
mrDoc(rDoc)
{
(void)mnTab;
(void)mrDoc;
}
ScOrcusConditionalFormat::~ScOrcusConditionalFormat()
{
}
void ScOrcusConditionalFormat::set_color(os::color_elem_t /*alpha*/, os::color_elem_t /*red*/,
os::color_elem_t /*green*/, os::color_elem_t /*blue*/)
{
SAL_INFO("sc.orcus.condformat", "set_color");
}
void ScOrcusConditionalFormat::set_condition_type(os::condition_type_t /*type*/)
{
SAL_INFO("sc.orcus.condformat", "set_condition_type");
}
void ScOrcusConditionalFormat::set_formula(const char* /*p*/, size_t /*n*/)
{
SAL_INFO("sc.orcus.condformat", "set_formula");
}
void ScOrcusConditionalFormat::set_date(os::condition_date_t /*date*/)
{
SAL_INFO("sc.orcus.condformat", "set_date");
}
void ScOrcusConditionalFormat::commit_condition()
{
SAL_INFO("sc.orcus.condformat", "commit_condition");
}
void ScOrcusConditionalFormat::set_icon_name(const char* /*p*/, size_t /*n*/)
{
SAL_INFO("sc.orcus.condformat", "set_icon_name");
}
void ScOrcusConditionalFormat::set_databar_gradient(bool /*gradient*/)
{
SAL_INFO("sc.orcus.condformat", "set_databar_gradient");
}
void ScOrcusConditionalFormat::set_databar_axis(os::databar_axis_t /*axis*/)
{
SAL_INFO("sc.orcus.condformat", "set_databar_axis");
}
void ScOrcusConditionalFormat::set_databar_color_positive(os::color_elem_t /*alpha*/, os::color_elem_t /*red*/,
os::color_elem_t /*green*/, os::color_elem_t /*blue*/)
{
SAL_INFO("sc.orcus.condformat", "set_databar_color_positive");
}
void ScOrcusConditionalFormat::set_databar_color_negative(os::color_elem_t /*alpha*/, os::color_elem_t /*red*/,
os::color_elem_t /*green*/, os::color_elem_t /*blue*/)
{
SAL_INFO("sc.orcus.condformat", "set_databar_color_negative");
}
void ScOrcusConditionalFormat::set_min_databar_length(double /*length*/)
{
SAL_INFO("sc.orcus.condformat", "set_min_databar_length");
}
void ScOrcusConditionalFormat::set_max_databar_length(double /*length*/)
{
SAL_INFO("sc.orcus.condformat", "set_max_databar_length");
}
void ScOrcusConditionalFormat::set_show_value(bool /*show*/)
{
SAL_INFO("sc.orcus.condformat", "set_show_value");
}
void ScOrcusConditionalFormat::set_iconset_reverse(bool /*reverse*/)
{
SAL_INFO("sc.orcus.condformat", "set_iconset_reverse");
}
void ScOrcusConditionalFormat::set_xf_id(size_t /*xf*/)
{
SAL_INFO("sc.orcus.condformat", "set_xf_id");
}
void ScOrcusConditionalFormat::set_operator(os::condition_operator_t /*condition_type*/)
{
SAL_INFO("sc.orcus.condformat", "set_operator");
}
void ScOrcusConditionalFormat::set_type(os::conditional_format_t /*type*/)
{
SAL_INFO("sc.orcus.condformat", "set_type");
}
void ScOrcusConditionalFormat::commit_entry()
{
SAL_INFO("sc.orcus.condformat", "commit_entry");
}
void ScOrcusConditionalFormat::set_range(const char* /*p*/, size_t /*n*/)
{
SAL_INFO("sc.orcus.condformat", "set_range");
}
void ScOrcusConditionalFormat::set_range(os::row_t /*row_start*/, os::col_t /*col_start*/,
os::row_t /*row_end*/, os::col_t /*col_end*/)
{
SAL_INFO("sc.orcus.condformat", "set_range");
}
void ScOrcusConditionalFormat::commit_format()
{
SAL_INFO("sc.orcus.condformat", "commit_format");
}
ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& rFactory) :
mrDoc(rDoc),
mnTab(nTab),
......@@ -288,6 +409,7 @@ ScOrcusSheet::ScOrcusSheet(ScDocumentImport& rDoc, SCTAB nTab, ScOrcusFactory& r
mrStyles(static_cast<ScOrcusStyles&>(*mrFactory.get_styles())),
maAutoFilter(rDoc.getDoc()),
maProperties(mnTab, mrDoc),
maConditionalFormat(mnTab, rDoc.getDoc()),
mnCellCount(0)
{
}
......@@ -312,6 +434,11 @@ os::iface::import_sheet_properties* ScOrcusSheet::get_sheet_properties()
return &maProperties;
}
os::iface::import_conditional_format* ScOrcusSheet::get_conditional_format()
{
return &maConditionalFormat;
}
void ScOrcusSheet::set_auto(os::row_t row, os::col_t col, const char* p, size_t n)
{
OUString aVal(p, n, RTL_TEXTENCODING_UTF8);
......
......@@ -898,6 +898,8 @@ void OpenGLSalGraphicsImpl::DrawTextureRect( OpenGLTexture& rTexture, const SalT
{
OpenGLZone aZone;
SAL_INFO("vcl.opengl", "draw texture rect");
GLfloat aTexCoord[8];
rTexture.GetCoord( aTexCoord, rPosAry, bInverted );
mpProgram->SetTextureCoord( aTexCoord );
......@@ -908,6 +910,8 @@ void OpenGLSalGraphicsImpl::DrawTexture( OpenGLTexture& rTexture, const SalTwoRe
{
OpenGLZone aZone;
SAL_INFO("vcl.opengl", "draw texture");
if( !UseProgram( "textureVertexShader", "textureFragmentShader" ) )
return;
mpProgram->SetTexture( "sampler", rTexture );
......
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