Difference between revisions of "Calc:Tab Color Patches"
From Apache OpenOffice Wiki
(15 intermediate revisions by one other user not shown) | |||
Line 20: | Line 20: | ||
::Declare a list: "ScUndoSetTabBgColorInfoList" of "ScUndoSetTabBgColorInfo" | ::Declare a list: "ScUndoSetTabBgColorInfoList" of "ScUndoSetTabBgColorInfo" | ||
---- | ---- | ||
− | :sc/inc/unonames.hxx <span style="background-color: | + | :sc/inc/unonames.hxx <span style="background-color:red;color:white">***NEED TO ADD TO SPECS!!</span> |
::define the uno name SC_UNO_TABCOLOR as "TabColor" for ODS XML label | ::define the uno name SC_UNO_TABCOLOR as "TabColor" for ODS XML label | ||
---- | ---- | ||
Line 26: | Line 26: | ||
::Add SC_TABLE_TAB_BG_COLOR to the Table View Settings Sequence | ::Add SC_TABLE_TAB_BG_COLOR to the Table View Settings Sequence | ||
---- | ---- | ||
− | :sc/sdi/docsh.sdi | + | :sc/sdi/docsh.sdi |
− | ::Add FID_TAB_SET_TAB_BG_COLOR command to TableSelection | + | ::Add FID_TAB_SET_TAB_BG_COLOR command to TableSelection interface |
---- | ---- | ||
− | :sc/sdi/scalc. | + | :sc/sdi/scalc.sdi |
::Add SvxColorItem TabBgColor FID_TAB_SET_TAB_BG_COLOR definition | ::Add SvxColorItem TabBgColor FID_TAB_SET_TAB_BG_COLOR definition | ||
− | ::Add SfxVoidItem SetTabBgColor | + | ::Add SfxVoidItem SetTabBgColor FID_TAB_MENU_SET_TAB_BG_COLOR(SvxColorItem TabBgColor FID_TAB_SET_TAB_BG_COLOR) definition |
---- | ---- | ||
:sc/sdi/tabvwsh.sdi | :sc/sdi/tabvwsh.sdi | ||
+ | ::Add FID_TAB_MENU_SET_TAB_BG_COLOR command to Tables interface | ||
---- | ---- | ||
:sc/source/ui/docshell/docfunc.cxx | :sc/source/ui/docshell/docfunc.cxx | ||
+ | ::Add Source for ScDocFunc::SetTabBgColor | ||
---- | ---- | ||
:sc/source/ui/inc/docfunc.hxx | :sc/source/ui/inc/docfunc.hxx | ||
+ | ::Define ScDocFunc::ScTabBgColor | ||
---- | ---- | ||
:sc/source/ui/inc/undotab.hxx | :sc/source/ui/inc/undotab.hxx | ||
+ | ::Define ScUndoSetTabBgColor Class | ||
---- | ---- | ||
:sc/source/ui/inc/viewdata.hxx | :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 | :sc/source/ui/inc/viewfunc.hxx | ||
+ | ::Define Public BOOL SetTabBgColor(...) in ScViewFunc Class | ||
---- | ---- | ||
:sc/source/ui/src/globstr.src | :sc/source/ui/src/globstr.src | ||
+ | ::Add String data to Global Strings | ||
---- | ---- | ||
:sc/source/ui/src/popup.src | :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 | :sc/source/ui/src/scstring.src | ||
+ | ::Add String data to Sc Strings | ||
---- | ---- | ||
:sc/source/ui/undo/undotab.cxx | :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 | :sc/source/ui/view/scextopt.cxx | ||
+ | ::Set maTabBgColor to COL_AUTO on ScExtTabSettings::ScExtTabSettings() | ||
---- | ---- | ||
:sc/source/ui/view/tabcont.cxx | :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 | ||
+ | ::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 | ||
---- | ---- | ||
:sc/source/ui/view/tabvwshf.cxx | :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 | :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 | :sc/source/ui/view/viewfun2.cxx | ||
+ | ::Add code for ScViewFunc::SetTabBgColor(...) | ||
---- | ---- | ||
:sc/uiconfig/scalc/menubar/menubar.xml | :sc/uiconfig/scalc/menubar/menubar.xml | ||
+ | ::Add Separator | ||
+ | ::Add Menu Item .uno:SetTabBgColor to FormatMenu->SheetMenu | ||
---- | ---- | ||
:svtools/inc/tabbar.hxx | :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 | :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 === | === Tab Color Dialog === | ||
:sc/inc/scabstdlg.hxx | :sc/inc/scabstdlg.hxx | ||
+ | ::Add class: AbstractScTabBgColorDlg a VclAbstractDialog class | ||
:sc/source/ui/attrdlg/scdlgfact.cxx | :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 | :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 | :sc/source/ui/inc/miscdlgs.hrc | ||
+ | ::Add definitions for Dialog and Dialog Controls | ||
:<span style="background-color:lightgreen">sc/source/ui/inc/tabbgcolordlg.hxx (new) | :<span style="background-color:lightgreen">sc/source/ui/inc/tabbgcolordlg.hxx (new) | ||
+ | ::Add class: ScTabBgColorDlg a ModalDialog class | ||
:sc/source/ui/miscdlgs/makefile.mk | :sc/source/ui/miscdlgs/makefile.mk | ||
+ | ::Add tabbgcolordlg.obj to make file | ||
:<span style="background-color:lightgreen">sc/source/ui/miscdlgs/tabbgcolordlg.cxx (new) | :<span style="background-color:lightgreen">sc/source/ui/miscdlgs/tabbgcolordlg.cxx (new) | ||
+ | ::Add code for the Color Dialog according to specs | ||
:sc/source/ui/src/miscdlgs.src | :sc/source/ui/src/miscdlgs.src | ||
+ | ::Add Dialog and Dialog Control properties | ||
:sc/util/makefile.mk | :sc/util/makefile.mk | ||
+ | ::Add tabbgcolordlg.obj to make file | ||
=== Excel 2003 Binary Support === | === Excel 2003 Binary Support === | ||
Line 112: | Line 180: | ||
[[User:Danielbw|Danielbw]] 01:23, 22 January 2009 (UTC) | [[User:Danielbw|Danielbw]] 01:23, 22 January 2009 (UTC) | ||
---- | ---- | ||
+ | |||
+ | |||
+ | [[Category:Calc]] |
Latest revision as of 06:39, 4 December 2009
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)