Kaydet (Commit) 7662f37e authored tarafından Jaskaran Singh's avatar Jaskaran Singh Kaydeden (comit) Markus Mohrhard

Add functions for border width and style to orcus interface

Change-Id: Ia707c7bf110f67f6537841999d0b1504fb24eab5
üst 2730107f
...@@ -37,6 +37,8 @@ class ScOrcusFactory; ...@@ -37,6 +37,8 @@ class ScOrcusFactory;
class ScRangeData; class ScRangeData;
class SfxItemSet; class SfxItemSet;
typedef sal_Int16 SvxBorderStyle;
namespace com { namespace sun { namespace star { namespace task { namespace com { namespace sun { namespace star { namespace task {
class XStatusIndicator; class XStatusIndicator;
...@@ -283,7 +285,9 @@ private: ...@@ -283,7 +285,9 @@ private:
{ {
struct border_line struct border_line
{ {
SvxBorderStyle mestyle;
Color maColor; Color maColor;
double mnWidth;
}; };
std::map<orcus::spreadsheet::border_direction_t, border_line> border_lines; std::map<orcus::spreadsheet::border_direction_t, border_line> border_lines;
......
...@@ -951,7 +951,6 @@ void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t e) ...@@ -951,7 +951,6 @@ void ScOrcusStyles::set_font_underline(orcus::spreadsheet::underline_t e)
{ {
case orcus::spreadsheet::underline_t::single_line: case orcus::spreadsheet::underline_t::single_line:
case orcus::spreadsheet::underline_t::single_accounting: case orcus::spreadsheet::underline_t::single_accounting:
case orcus::spreadsheet::underline_t::solid:
maCurrentFont.meUnderline = LINESTYLE_SINGLE; maCurrentFont.meUnderline = LINESTYLE_SINGLE;
break; break;
case orcus::spreadsheet::underline_t::double_line: case orcus::spreadsheet::underline_t::double_line:
...@@ -1109,9 +1108,48 @@ void ScOrcusStyles::set_border_style(orcus::spreadsheet::border_direction_t /*di ...@@ -1109,9 +1108,48 @@ void ScOrcusStyles::set_border_style(orcus::spreadsheet::border_direction_t /*di
} }
void ScOrcusStyles::set_border_style( void ScOrcusStyles::set_border_style(
orcus::spreadsheet::border_direction_t /*dir*/, orcus::spreadsheet::border_style_t /*style*/) orcus::spreadsheet::border_direction_t dir, orcus::spreadsheet::border_style_t style)
{ {
// implement later border::border_line& current_line = maCurrentBorder.border_lines[dir];
switch (style)
{
case orcus::spreadsheet::border_style_t::unknown:
case orcus::spreadsheet::border_style_t::none:
case orcus::spreadsheet::border_style_t::solid:
case orcus::spreadsheet::border_style_t::hair:
case orcus::spreadsheet::border_style_t::medium:
case orcus::spreadsheet::border_style_t::thick:
case orcus::spreadsheet::border_style_t::thin:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::SOLID;
break;
case orcus::spreadsheet::border_style_t::dash_dot:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASH_DOT;
break;
case orcus::spreadsheet::border_style_t::dash_dot_dot:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASH_DOT_DOT;
break;
case orcus::spreadsheet::border_style_t::dashed:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASHED;
break;
case orcus::spreadsheet::border_style_t::dotted:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DOTTED;
break;
case orcus::spreadsheet::border_style_t::double_border:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DOUBLE;
break;
case orcus::spreadsheet::border_style_t::medium_dash_dot:
case orcus::spreadsheet::border_style_t::slant_dash_dot:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASH_DOT;
break;
case orcus::spreadsheet::border_style_t::medium_dash_dot_dot:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASH_DOT_DOT;
break;
case orcus::spreadsheet::border_style_t::medium_dashed:
current_line.mestyle = ::com::sun::star::table::BorderLineStyle::DASHED;
break;
default:
;
}
} }
void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t dir, void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t dir,
...@@ -1124,9 +1162,10 @@ void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t dir, ...@@ -1124,9 +1162,10 @@ void ScOrcusStyles::set_border_color(orcus::spreadsheet::border_direction_t dir,
current_line.maColor = Color(alpha, red, green, blue); current_line.maColor = Color(alpha, red, green, blue);
} }
void ScOrcusStyles::set_border_width(orcus::spreadsheet::border_direction_t /* dir */, orcus::length_t /* width */) void ScOrcusStyles::set_border_width(orcus::spreadsheet::border_direction_t dir, orcus::length_t width )
{ {
border::border_line& current_line = maCurrentBorder.border_lines[dir];
current_line.mnWidth = translateToInternal(width.value, width.unit);
} }
size_t ScOrcusStyles::commit_border() size_t ScOrcusStyles::commit_border()
......
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