Calc:Tab Color Patches
From Apache OpenOffice Wiki
		Code Change Justifications and Explanation
Tab Color Core Support
- officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
- Add entries for ".uno:SetTabBgColor" and ".uno:TabBgColor"
 
 
- sc/inc/globstr.hrc
- Define Global Strings
 
 
- sc/inc/scextopt.hxx
- Add Color maTabBgColor and BOOL IsDefaultTabBgColor() to the ScExtTabSettings Struct
 
 
- sc/inc/sc.hrc
- Define ID's for the CalcCommand
 - Define Sc Strings
 - Define the dialog id
 
 
- sc/inc/tabbgcolor.hxx (new)
- Define a struct: "ScUndoSetTabBgColorInfo" to store Tab Color Undo information
 - Declare a list: "ScUndoSetTabBgColorInfoList" of "ScUndoSetTabBgColorInfo"
 
 
- sc/inc/unonames.hxx ***NEED TO ADD TO SPECS!!
- define the uno name SC_UNO_TABCOLOR as "TabColor" for ODS XML label
 
 
- sc/inc/ViewSettingsSequenceDefines.hxx
- Add SC_TABLE_TAB_BG_COLOR to the Table View Settings Sequence
 
 
- sc/sdi/docsh.sdi
- Add FID_TAB_SET_TAB_BG_COLOR command to TableSelection interface
 
 
- sc/sdi/scalc.sdi
- Add SvxColorItem TabBgColor FID_TAB_SET_TAB_BG_COLOR definition
 - Add SfxVoidItem SetTabBgColor FID_TAB_MENU_SET_TAB_BG_COLOR(SvxColorItem TabBgColor FID_TAB_SET_TAB_BG_COLOR) definition
 
 
- sc/sdi/tabvwsh.sdi
- Add FID_TAB_MENU_SET_TAB_BG_COLOR command to Tables interface
 
 
- sc/source/ui/docshell/docfunc.cxx
- Add Source for ScDocFunc::SetTabBgColor
 
 
- sc/source/ui/inc/docfunc.hxx
- Define ScDocFunc::ScTabBgColor
 
 
- sc/source/ui/inc/undotab.hxx
- Define ScUndoSetTabBgColor Class
 
 
- sc/source/ui/inc/viewdata.hxx
- Define Private Color aTabBgColor in ScViewDataTable Class
 - Define Private BOOL IsDefaultTabBgColor(...) in ScViewDataTable Class
 - Define Public void SetTabBgColor(...) in ScViewData Class
 - Define Public BOOL IsDefaultTabBgColor(...) in ScViewData Class
 - Define Public Color GetTabBgColor(...) in ScViewData Class
 
 
- sc/source/ui/inc/viewfunc.hxx
- Define Public BOOL SetTabBgColor(...) in ScViewFunc Class
 
 
- sc/source/ui/src/globstr.src
- Add String data to Global Strings
 
 
- sc/source/ui/src/popup.src
- Add Separator
 - Add FID_TAB_MENU_SET_TAB_BG_COLOR to RID_POPUP_TAB
 
 
- sc/source/ui/src/scstring.src
- Add String data to Sc Strings
 
 
- sc/source/ui/undo/undotab.cxx
- Add ScUndoSetTabBgColor as an SfxUndoAction class
 - Undo/Redo action supports single and multiple tab color operations
 - When a single tab is colored, then set the comment to Global String: STR_UNDO_SET_TAB_BG_COLOR
 - When multiple tabs were colored, then set the comment to Global String: STR_UNDO_SET_MULTI_TAB_BG_COLOR
 
 
- sc/source/ui/view/scextopt.cxx
- Set maTabBgColor to COL_AUTO on ScExtTabSettings::ScExtTabSettings()
 
 
- sc/source/ui/view/tabcont.cxx
- Add the following logic to ScTabControl::ScTabControl(...)
- Check to see if the current tab has a tab color value not equal to COL_AUTO
- Call ScTabControl::SetTabBgColor which belongs to the TabBar Class
 
 
 - Check to see if the current tab has a tab color value not equal to COL_AUTO
 - Invalidate FID_TAB_SET_TAB_BG_COLOR with the rest of the items from the table Interface in ScTabControl::Select()
 - Add the following logic to ScTabControl::UpdateStatus()
- Check to see if new color is the same as the old color.
- If the color is different set bModified to TRUE
 
 - Check to see if the current tab has a tab color value not equal to COL_AUTO
- Call ScTabControl::SetTabBgColor which belongs to the TabBar Class
 
 
 - Check to see if new color is the same as the old color.
 
 - Add the following logic to ScTabControl::ScTabControl(...)
 
- sc/source/ui/view/tabvwshf.cxx
- Add code to execute the Dialog and save the color information.
 - Add code to invalidate the menu items according to criteria in spec
 
 
- sc/source/ui/view/viewdata.cxx
- Add code to set aTabBgColor to COL_AUTO on ScViewDataTable::ScViewDataTable()
 - Add support to save to ODS in ScViewDataTable::WriteUserDataSequence(...)
 - Add support to read from ODS in ScViewDataTable::ReadUserDataSequence(...)
 - Add code for ScViewData::SetTabBgColor(...)
 - Add code for ScViewData::GetTabBgColor(...)
 - Add code for ScViewData::IsDefaultTabBgColor(...)
 - Add code to save the color to the ScExtTabSettings Struct in ScViewData::WriteExtOptions(...)
 - Add code to read the color from the ScExtTabSettings Struct in ScViewData::ReadExtOptions(...)
 
 
- sc/source/ui/view/viewfun2.cxx
- Add code for ScViewFunc::SetTabBgColor(...)
 
 
- sc/uiconfig/scalc/menubar/menubar.xml
- Add Separator
 - Add Menu Item .uno:SetTabBgColor to FormatMenu->SheetMenu
 
 
- svtools/inc/tabbar.hxx
- Add definition for Public Color GetTabBgColor(...) in Class TabBar
 - Add definition for Public void SetTabBgColor(...) in Class TabBar
 - Add definition for Public BIIL IsDefaultTabBgColor(...) in Class TabBar
 
 
- svtools/source/control/tabbar.cxx
- Add Color maTabBgColor to ImplTabBarItem struct
 - Add Color maTabTextColor to ImplTabBarItem struct
 - Add bool IsDefaultTabBgColor() to ImplTabBarItem struct
 - Add bool IsDefaultTabTextColor() to ImplTabBarItem struct
 - Set maTabBgColor and maTabTextColor to COL_AUTO in ImplTabBarItem::ImplTabBarItem(...)
 - Change aLightFont weight to WEIGHT_NORMAL instead of WEIGHT_LIGHT in TabBar::Paint()
 - Add code to fill tab with custom background color when tab is unselected in TabBar::Paint()
 - Add code to draw a 2px sliver on the bottom of selected tab(s) with custom background color in TabBar::Paint()
 - Add code for TabBar::GetTabBgColor
 - Add code for TabBar::SetTabBgColor
- Add code to auto select font color based on the luminance of the color.
 
 - Add code to choose proper Drop Position Arrow colors in TabBar::ShowDropPos(...)
 
 
Tab Color Dialog
- sc/inc/scabstdlg.hxx
- Add class: AbstractScTabBgColorDlg a VclAbstractDialog class
 
 - sc/source/ui/attrdlg/scdlgfact.cxx
- Add IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl)
 - Add AbstractScTabBgColorDlg_Impl::GetSelectedColor(...) implementation
 - Add AbstractScTabBgColorDlg * ScAbstractDialogFactory_Impl::CreateScTabBgColorDlg (...) implementation
 
 - sc/source/ui/attrdlg/scdlgfact.hxx
- Add class AbstractScTabBgColorDlg_Impl a AbstractScTabBgColorDlg class
 - Add Public virtual AbstractScTabBgColorDlg * CreateScTabBgColorDlg (...) to ScAbstractDialogFactory_Impl
 
 - sc/source/ui/inc/miscdlgs.hrc
- Add definitions for Dialog and Dialog Controls
 
 - sc/source/ui/inc/tabbgcolordlg.hxx (new)
- Add class: ScTabBgColorDlg a ModalDialog class
 
 - sc/source/ui/miscdlgs/makefile.mk
- Add tabbgcolordlg.obj to make file
 
 - sc/source/ui/miscdlgs/tabbgcolordlg.cxx (new)
- Add code for the Color Dialog according to specs
 
 - sc/source/ui/src/miscdlgs.src
- Add Dialog and Dialog Control properties
 
 - sc/util/makefile.mk
- Add tabbgcolordlg.obj to make file
 
 
Excel 2003 Binary Support
- sc/source/filter/excel/read.cxx
 - sc/source/filter/excel/xestyle.cxx
 - sc/source/filter/excel/xeview.cxx
 - sc/source/filter/excel/xichart.cxx
 - sc/source/filter/excel/xiview.cxx
 - sc/source/filter/excel/xlview.cxx
 - sc/source/filter/inc/xestyle.hxx
 - sc/source/filter/inc/xeview.hxx
 - sc/source/filter/inc/xiview.hxx
 - sc/source/filter/inc/xlview.hxx
 
Excel 2003 XML Support
- filter/source/xslt/export/spreadsheetml/formular.xsl
 - filter/source/xslt/import/spreadsheetml/spreadsheetml2ooo.xsl
 
Excel 2007 Binary / OOX Support
- oox/inc/oox/xls/viewsettings.hxx
 - oox/source/xls/chartsheetfragment.cxx
 - oox/source/xls/viewsettings.cxx
 - oox/source/xls/worksheetfragment.cxx
 - oox/source/xls/worksheethelper.cxx
 - oox/source/xls/worksheetsettings.cxx
 
Patch Download List
- Download Patch
 
See Also
Danielbw 01:23, 22 January 2009 (UTC)