vcl: VclPtr conversion in sc
Change-Id: I9cbc8beff7172c1ec69ae1124b16de0c0d722334
Conflicts:
sc/source/ui/view/gridwin.cxx
sc/source/ui/view/tabview.cxx
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index a70b069..a5b8c88e 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -173,9 +173,9 @@ static ScTextWndBase* lcl_chooseRuntimeImpl( vcl::Window* pParent, SfxBindings*
ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) :
// With WB_CLIPCHILDREN otherwise we get flickering
ToolBox ( pParent, WinBits(WB_CLIPCHILDREN) ),
aWndPos ( this ),
pRuntimeWindow ( lcl_chooseRuntimeImpl( this, pBind ) ),
aTextWindow ( *pRuntimeWindow ),
aWndPos ( new ScPosWnd(this) ),
pRuntimeWindow ( lcl_chooseRuntimeImpl( this, pBind ) ),
aTextWindow ( *pRuntimeWindow ),
pInputHdl ( NULL ),
aTextOk ( ScResId( SCSTR_QHELP_BTNOK ) ), // Not always new as a Resource
aTextCancel ( ScResId( SCSTR_QHELP_BTNCANCEL ) ),
@@ -202,7 +202,7 @@ ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) :
OSL_ENSURE( pViewSh, "no view shell for input window" );
// Position window, 3 buttons, input window
InsertWindow ( 1, &aWndPos, ToolBoxItemBits::NONE, 0 );
InsertWindow ( 1, aWndPos.get(), ToolBoxItemBits::NONE, 0 );
InsertSeparator ( 1 );
InsertItem ( SID_INPUT_FUNCTION, IMAGE( SID_INPUT_FUNCTION ), ToolBoxItemBits::NONE, 2 );
InsertItem ( SID_INPUT_SUM, IMAGE( SID_INPUT_SUM ), ToolBoxItemBits::NONE, 3 );
@@ -210,8 +210,8 @@ ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) :
InsertSeparator ( 5 );
InsertWindow ( 7, &aTextWindow, ToolBoxItemBits::NONE, 6 );
aWndPos .SetQuickHelpText( ScResId( SCSTR_QHELP_POSWND ) );
aWndPos .SetHelpId ( HID_INSWIN_POS );
aWndPos ->SetQuickHelpText( ScResId( SCSTR_QHELP_POSWND ) );
aWndPos ->SetHelpId ( HID_INSWIN_POS );
aTextWindow.SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
aTextWindow.SetHelpId ( HID_INSWIN_INPUT );
@@ -227,7 +227,7 @@ ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) :
SetHelpId( HID_SC_INPUTWIN ); // For the whole input row
aWndPos .Show();
aWndPos ->Show();
aTextWindow.Show();
pInputHdl = SC_MOD()->GetInputHdl( pViewSh, false ); // use own handler even if ref-handler is set
@@ -259,6 +259,11 @@ ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) :
ScInputWindow::~ScInputWindow()
{
dispose();
}
void ScInputWindow::dispose()
{
bool bDown = ( ScGlobal::pSysLocale == NULL ); // after Clear?
// if any view's input handler has a pointer to this input window, reset it
@@ -282,6 +287,9 @@ ScInputWindow::~ScInputWindow()
}
SfxImageManager::GetImageManager( *SC_MOD() )->ReleaseToolBox( this );
aWndPos.disposeAndClear();
ToolBox::dispose();
}
void ScInputWindow::SetInputHandler( ScInputHandler* pNew )
@@ -630,7 +638,7 @@ void ScInputWindow::SetFuncString( const OUString& rString, bool bDoEdit )
void ScInputWindow::SetPosString( const OUString& rStr )
{
aWndPos.SetPos( rStr );
aWndPos->SetPos( rStr );
}
void ScInputWindow::SetTextString( const OUString& rString )
@@ -690,7 +698,7 @@ void ScInputWindow::SetSumAssignMode()
void ScInputWindow::SetFormulaMode( bool bSet )
{
aWndPos.SetFormulaMode(bSet);
aWndPos->SetFormulaMode(bSet);
aTextWindow.SetFormulaMode(bSet);
}
@@ -755,7 +763,7 @@ void ScInputWindow::SwitchToTextWin()
void ScInputWindow::PosGrabFocus()
{
aWndPos.GrabFocus();
aWndPos->GrabFocus();
}
void ScInputWindow::EnableButtons( bool bEnable )
@@ -897,54 +905,62 @@ void ScInputWindow::MouseButtonUp( const MouseEvent& rMEvt )
ScInputBarGroup::ScInputBarGroup(vcl::Window* pParent, ScTabViewShell* pViewSh)
: ScTextWndBase ( pParent, WinBits(WB_HIDE | WB_TABSTOP ) ),
aMultiTextWnd ( this, pViewSh ),
aButton ( this, WB_TABSTOP | WB_RECTSTYLE | WB_SMALLSTYLE ),
aScrollBar ( this, WB_TABSTOP | WB_VERT | WB_DRAG ),
aMultiTextWnd ( new ScMultiTextWnd(this, pViewSh) ),
aButton ( new ImageButton(this, WB_TABSTOP | WB_RECTSTYLE | WB_SMALLSTYLE) ),
aScrollBar ( new ScrollBar(this, WB_TABSTOP | WB_VERT | WB_DRAG) ),
nVertOffset ( 0 )
{
aMultiTextWnd.Show();
aMultiTextWnd.SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
aMultiTextWnd.SetHelpId( HID_INSWIN_INPUT );
aMultiTextWnd->Show();
aMultiTextWnd->SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) );
aMultiTextWnd->SetHelpId( HID_INSWIN_INPUT );
Size aSize( GetSettings().GetStyleSettings().GetScrollBarSize(), aMultiTextWnd.GetPixelHeightForLines(1) );
Size aSize( GetSettings().GetStyleSettings().GetScrollBarSize(), aMultiTextWnd->GetPixelHeightForLines(1) );
aButton.SetClickHdl( LINK( this, ScInputBarGroup, ClickHdl ) );
aButton.SetSizePixel( aSize );
aButton.Enable();
aButton.SetSymbol( SymbolType::SPIN_DOWN );
aButton.SetQuickHelpText( ScResId( SCSTR_QHELP_EXPAND_FORMULA ) );
aButton.Show();
aButton->SetClickHdl( LINK( this, ScInputBarGroup, ClickHdl ) );
aButton->SetSizePixel( aSize );
aButton->Enable();
aButton->SetSymbol( SymbolType::SPIN_DOWN );
aButton->SetQuickHelpText( ScResId( SCSTR_QHELP_EXPAND_FORMULA ) );
aButton->Show();
aScrollBar.SetSizePixel( aSize );
aScrollBar.SetScrollHdl( LINK( this, ScInputBarGroup, Impl_ScrollHdl ) );
aScrollBar->SetSizePixel( aSize );
aScrollBar->SetScrollHdl( LINK( this, ScInputBarGroup, Impl_ScrollHdl ) );
}
ScInputBarGroup::~ScInputBarGroup()
{
dispose();
}
void ScInputBarGroup::dispose()
{
aMultiTextWnd.disposeAndClear();
aButton.disposeAndClear();
aScrollBar.disposeAndClear();
ScTextWndBase::dispose();
}
void
ScInputBarGroup::InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData )
{
aMultiTextWnd.InsertAccessibleTextData( rTextData );
aMultiTextWnd->InsertAccessibleTextData( rTextData );
}
void
ScInputBarGroup::RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData )
{
aMultiTextWnd.RemoveAccessibleTextData( rTextData );
aMultiTextWnd->RemoveAccessibleTextData( rTextData );
}
const OUString&
ScInputBarGroup::GetTextString() const
{
return aMultiTextWnd.GetTextString();
return aMultiTextWnd->GetTextString();
}
void ScInputBarGroup::SetTextString( const OUString& rString )
{
aMultiTextWnd.SetTextString(rString);
aMultiTextWnd->SetTextString(rString);
}
void ScInputBarGroup::Resize()
@@ -965,89 +981,89 @@ void ScInputBarGroup::Resize()
Size aSize = GetSizePixel();
aSize.Width() = std::max( ((long)(nWidth - nLeft - LEFT_OFFSET)), (long)0 );
aScrollBar.SetPosPixel(Point( aSize.Width() - aButton.GetSizePixel().Width(), aButton.GetSizePixel().Height() ) );
aScrollBar->SetPosPixel(Point( aSize.Width() - aButton->GetSizePixel().Width(), aButton->GetSizePixel().Height() ) );
Size aTmpSize( aSize );
aTmpSize.Width() = aTmpSize.Width() - aButton.GetSizePixel().Width() - BUTTON_OFFSET;
aMultiTextWnd.SetSizePixel(aTmpSize);
aTmpSize.Width() = aTmpSize.Width() - aButton->GetSizePixel().Width() - BUTTON_OFFSET;
aMultiTextWnd->SetSizePixel(aTmpSize);
aMultiTextWnd.Resize();
aMultiTextWnd->Resize();
aSize.Height() = aMultiTextWnd.GetSizePixel().Height();
aSize.Height() = aMultiTextWnd->GetSizePixel().Height();
SetSizePixel(aSize);
if( aMultiTextWnd.GetNumLines() > 1 )
if( aMultiTextWnd->GetNumLines() > 1 )
{
aButton.SetSymbol( SymbolType::SPIN_UP );
aButton.SetQuickHelpText( ScResId( SCSTR_QHELP_COLLAPSE_FORMULA ) );
Size scrollSize = aButton.GetSizePixel();
scrollSize.Height() = aMultiTextWnd.GetSizePixel().Height() - aButton.GetSizePixel().Height();
aScrollBar.SetSizePixel( scrollSize );
aButton->SetSymbol( SymbolType::SPIN_UP );
aButton->SetQuickHelpText( ScResId( SCSTR_QHELP_COLLAPSE_FORMULA ) );
Size scrollSize = aButton->GetSizePixel();
scrollSize.Height() = aMultiTextWnd->GetSizePixel().Height() - aButton->GetSizePixel().Height();
aScrollBar->SetSizePixel( scrollSize );
Size aOutSz = aMultiTextWnd.GetOutputSize();
Size aOutSz = aMultiTextWnd->GetOutputSize();
aScrollBar.SetVisibleSize( aOutSz.Height() );
aScrollBar.SetPageSize( aOutSz.Height() );
aScrollBar.SetLineSize( aMultiTextWnd.GetTextHeight() );
aScrollBar.SetRange( Range( 0, aMultiTextWnd.GetEditEngTxtHeight() ) );
aScrollBar->SetVisibleSize( aOutSz.Height() );
aScrollBar->SetPageSize( aOutSz.Height() );
aScrollBar->SetLineSize( aMultiTextWnd->GetTextHeight() );
aScrollBar->SetRange( Range( 0, aMultiTextWnd->GetEditEngTxtHeight() ) );
aScrollBar.Resize();
aScrollBar.Show();
aScrollBar->Resize();
aScrollBar->Show();
}
else
{
aButton.SetSymbol( SymbolType::SPIN_DOWN );
aButton.SetQuickHelpText( ScResId( SCSTR_QHELP_EXPAND_FORMULA ) );
aScrollBar.Hide();
aButton->SetSymbol( SymbolType::SPIN_DOWN );
aButton->SetQuickHelpText( ScResId( SCSTR_QHELP_EXPAND_FORMULA ) );
aScrollBar->Hide();
}
aButton.SetPosPixel(Point(aSize.Width() - aButton.GetSizePixel().Width(), 0));
aButton->SetPosPixel(Point(aSize.Width() - aButton->GetSizePixel().Width(), 0));
Invalidate();
}
void ScInputBarGroup::StopEditEngine( bool bAll )
{
aMultiTextWnd.StopEditEngine( bAll );
aMultiTextWnd->StopEditEngine( bAll );
}
void ScInputBarGroup::StartEditEngine()
{
aMultiTextWnd.StartEditEngine();
aMultiTextWnd->StartEditEngine();
}
void ScInputBarGroup::MakeDialogEditView()
{
aMultiTextWnd.MakeDialogEditView();
aMultiTextWnd->MakeDialogEditView();
}
EditView* ScInputBarGroup::GetEditView()
{
return aMultiTextWnd.GetEditView();
return aMultiTextWnd->GetEditView();
}
bool ScInputBarGroup::IsInputActive()
{
return aMultiTextWnd.IsInputActive();
return aMultiTextWnd->IsInputActive();
}
void ScInputBarGroup::SetFormulaMode(bool bSet)
{
aMultiTextWnd.SetFormulaMode(bSet);
aMultiTextWnd->SetFormulaMode(bSet);
}
void ScInputBarGroup::IncrementVerticalSize()
{
aMultiTextWnd.SetNumLines( aMultiTextWnd.GetNumLines() + 1 );
aMultiTextWnd->SetNumLines( aMultiTextWnd->GetNumLines() + 1 );
TriggerToolboxLayout();
}
void ScInputBarGroup::DecrementVerticalSize()
{
if ( aMultiTextWnd.GetNumLines() > 1 )
if ( aMultiTextWnd->GetNumLines() > 1 )
{
aMultiTextWnd.SetNumLines( aMultiTextWnd.GetNumLines() - 1 );
aMultiTextWnd->SetNumLines( aMultiTextWnd->GetNumLines() - 1 );
TriggerToolboxLayout();
}
}
@@ -1063,19 +1079,19 @@ IMPL_LINK_NOARG(ScInputBarGroup, ClickHdl)
OSL_FAIL("The parent window pointer pParent is null");
return 1;
}
if( aMultiTextWnd.GetNumLines() > 1 )
if( aMultiTextWnd->GetNumLines() > 1 )
{
aMultiTextWnd.SetNumLines( 1 );
aMultiTextWnd->SetNumLines( 1 );
}
else
{
aMultiTextWnd.SetNumLines( aMultiTextWnd.GetLastNumExpandedLines() );
aMultiTextWnd->SetNumLines( aMultiTextWnd->GetLastNumExpandedLines() );
}
TriggerToolboxLayout();
// Restore focus to input line(s) if necessary
if ( SC_MOD()->GetInputHdl()->IsTopMode() )
aMultiTextWnd.GrabFocus();
aMultiTextWnd->GrabFocus();
return 0;
}
@@ -1104,7 +1120,7 @@ void ScInputBarGroup::TriggerToolboxLayout()
if ( xLayoutManager.is() )
{
if ( aMultiTextWnd.GetNumLines() > 1)
if ( aMultiTextWnd->GetNumLines() > 1)
rParent.SetToolbarLayoutMode( TBX_LAYOUT_LOCKVERT );
else
rParent.SetToolbarLayoutMode( TBX_LAYOUT_NORMAL );
@@ -1132,13 +1148,13 @@ void ScInputBarGroup::TriggerToolboxLayout()
IMPL_LINK_NOARG(ScInputBarGroup, Impl_ScrollHdl)
{
aMultiTextWnd.DoScroll();
aMultiTextWnd->DoScroll();
return 0;
}
void ScInputBarGroup::TextGrabFocus()
{
aMultiTextWnd.TextGrabFocus();
aMultiTextWnd->TextGrabFocus();
}
ScMultiTextWnd::ScMultiTextWnd( ScInputBarGroup* pParen, ScTabViewShell* pViewSh )
@@ -1480,11 +1496,17 @@ ScTextWnd::ScTextWnd( vcl::Window* pParent, ScTabViewShell* pViewSh )
ScTextWnd::~ScTextWnd()
{
dispose();
}
void ScTextWnd::dispose()
{
while (!maAccTextDatas.empty()) {
maAccTextDatas.back()->Dispose();
}
delete pEditView;
delete pEditEngine;
ScTextWndBase::dispose();
}
void ScTextWnd::Paint( const Rectangle& rRect )
@@ -2068,11 +2090,17 @@ ScPosWnd::ScPosWnd( vcl::Window* pParent ) :
ScPosWnd::~ScPosWnd()
{
dispose();
}
void ScPosWnd::dispose()
{
EndListening( *SfxGetpApp() );
HideTip();
delete pAccel;
ComboBox::dispose();
}
void ScPosWnd::SetFormulaMode( bool bSet )
diff --git a/sc/source/ui/cctrl/checklistmenu.cxx b/sc/source/ui/cctrl/checklistmenu.cxx
index 4e73d9ef..df4cda8 100644
--- a/sc/source/ui/cctrl/checklistmenu.cxx
+++ b/sc/source/ui/cctrl/checklistmenu.cxx
@@ -856,13 +856,13 @@ void ScCheckListMenuWindow::CancelButton::Click()
ScCheckListMenuWindow::ScCheckListMenuWindow(vcl::Window* pParent, ScDocument* pDoc) :
ScMenuFloatingWindow(pParent, pDoc),
maEdSearch(this),
maChecks(this, WB_HASBUTTONS | WB_HASLINES | WB_HASLINESATROOT | WB_HASBUTTONSATROOT ),
maChkToggleAll(this, 0),
maBtnSelectSingle (this, 0),
maBtnUnselectSingle(this, 0),
maBtnOk(this),
maBtnCancel(this),
maEdSearch(new Edit (this)),
maChecks(new ScCheckListBox(this, WB_HASBUTTONS | WB_HASLINES | WB_HASLINESATROOT | WB_HASBUTTONSATROOT) ),
maChkToggleAll(new TriStateBox(this, 0)),
maBtnSelectSingle(new ImageButton(this, 0)),
maBtnUnselectSingle(new ImageButton(this, 0)),
maBtnOk(new OKButton(this)),
maBtnCancel(new CancelButton(this)),
mnCurTabStop(0),
mpExtendedData(NULL),
mpOKAction(NULL),
@@ -876,20 +876,32 @@ ScCheckListMenuWindow::ScCheckListMenuWindow(vcl::Window* pParent, ScDocument* p
maTabStopCtrls.reserve(8);
maTabStopCtrls.push_back(this);
maTabStopCtrls.push_back(&maEdSearch);
maTabStopCtrls.push_back(&maChecks);
maTabStopCtrls.push_back(&maChkToggleAll);
maTabStopCtrls.push_back(&maBtnSelectSingle);
maTabStopCtrls.push_back(&maBtnUnselectSingle);
maTabStopCtrls.push_back(&maBtnOk);
maTabStopCtrls.push_back(&maBtnCancel);
maTabStopCtrls.push_back(maEdSearch.get());
maTabStopCtrls.push_back(maChecks.get());
maTabStopCtrls.push_back(maChkToggleAll.get());
maTabStopCtrls.push_back(maBtnSelectSingle.get());
maTabStopCtrls.push_back(maBtnUnselectSingle.get());
maTabStopCtrls.push_back(maBtnOk.get());
maTabStopCtrls.push_back(maBtnCancel.get());
// Enable type-ahead search in the check list box.
maChecks.SetStyle(maChecks.GetStyle() | WB_QUICK_SEARCH);
maChecks->SetStyle(maChecks->GetStyle() | WB_QUICK_SEARCH);
}
ScCheckListMenuWindow::~ScCheckListMenuWindow()
{
dispose();
}
void ScCheckListMenuWindow::dispose()
{
maChecks.disposeAndClear();
maChkToggleAll.disposeAndClear();
maBtnSelectSingle.disposeAndClear();
maBtnUnselectSingle.disposeAndClear();
maBtnOk.disposeAndClear();
maBtnCancel.disposeAndClear();
ScMenuFloatingWindow::dispose();
}
void ScCheckListMenuWindow::getSectionPosSize(
@@ -958,7 +970,7 @@ void ScCheckListMenuWindow::getSectionPosSize(
break;
case CHECK_TOGGLE_ALL:
{
long h = std::min(maChkToggleAll.CalcMinimumSize().Height(), 26L);
long h = std::min(maChkToggleAll->CalcMinimumSize().Height(), 26L);
rPos = Point(nListBoxMargin, nSingleBtnAreaY);
rPos.X() += 5;
rPos.Y() += (nSingleItemBtnAreaHeight - h)/2;
@@ -1029,38 +1041,38 @@ void ScCheckListMenuWindow::packWindow()
SetOutputSizePixel(aSize);
getSectionPosSize(aPos, aSize, BTN_OK);
maBtnOk.SetPosSizePixel(aPos, aSize);
maBtnOk.SetFont(getLabelFont());
maBtnOk.SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnOk.Show();
maBtnOk->SetPosSizePixel(aPos, aSize);
maBtnOk->SetFont(getLabelFont());
maBtnOk->SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnOk->Show();
getSectionPosSize(aPos, aSize, BTN_CANCEL);
maBtnCancel.SetPosSizePixel(aPos, aSize);
maBtnCancel.SetFont(getLabelFont());
maBtnCancel.Show();
maBtnCancel->SetPosSizePixel(aPos, aSize);
maBtnCancel->SetFont(getLabelFont());
maBtnCancel->Show();
getSectionPosSize(aPos, aSize, EDIT_SEARCH);
maEdSearch.SetPosSizePixel(aPos, aSize);
maEdSearch.SetFont(getLabelFont());
maEdSearch.SetControlBackground(rStyle.GetFieldColor());
maEdSearch.SetPlaceholderText(SC_STRLOAD(RID_POPUP_FILTER, STR_EDIT_SEARCH_ITEMS));
maEdSearch.SetModifyHdl( LINK(this, ScCheckListMenuWindow, EdModifyHdl) );
maEdSearch.Show();
maEdSearch->SetPosSizePixel(aPos, aSize);
maEdSearch->SetFont(getLabelFont());
maEdSearch->SetControlBackground(rStyle.GetFieldColor());
maEdSearch->SetPlaceholderText(SC_STRLOAD(RID_POPUP_FILTER, STR_EDIT_SEARCH_ITEMS));
maEdSearch->SetModifyHdl( LINK(this, ScCheckListMenuWindow, EdModifyHdl) );
maEdSearch->Show();
getSectionPosSize(aPos, aSize, LISTBOX_AREA_INNER);
maChecks.SetPosSizePixel(aPos, aSize);
maChecks.SetFont(getLabelFont());
maChecks.SetCheckButtonHdl( LINK(this, ScCheckListMenuWindow, CheckHdl) );
maChecks.Show();
maChecks->SetPosSizePixel(aPos, aSize);
maChecks->SetFont(getLabelFont());
maChecks->SetCheckButtonHdl( LINK(this, ScCheckListMenuWindow, CheckHdl) );
maChecks->Show();
getSectionPosSize(aPos, aSize, CHECK_TOGGLE_ALL);
maChkToggleAll.SetPosSizePixel(aPos, aSize);
maChkToggleAll.SetFont(getLabelFont());
maChkToggleAll.SetText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_TOGGLE_ALL));
maChkToggleAll.SetTextColor(rStyle.GetMenuTextColor());
maChkToggleAll.SetControlBackground(rStyle.GetMenuColor());
maChkToggleAll.SetClickHdl( LINK(this, ScCheckListMenuWindow, TriStateHdl) );
maChkToggleAll.Show();
maChkToggleAll->SetPosSizePixel(aPos, aSize);
maChkToggleAll->SetFont(getLabelFont());
maChkToggleAll->SetText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_TOGGLE_ALL));
maChkToggleAll->SetTextColor(rStyle.GetMenuTextColor());
maChkToggleAll->SetControlBackground(rStyle.GetMenuColor());
maChkToggleAll->SetClickHdl( LINK(this, ScCheckListMenuWindow, TriStateHdl) );
maChkToggleAll->Show();
sal_Int32 nScaleFactor = GetDPIScaleFactor();
@@ -1073,11 +1085,11 @@ void ScCheckListMenuWindow::packWindow()
}
getSectionPosSize(aPos, aSize, BTN_SINGLE_SELECT);
maBtnSelectSingle.SetPosSizePixel(aPos, aSize);
maBtnSelectSingle.SetQuickHelpText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_SELECT_CURRENT));
maBtnSelectSingle.SetModeImage(aSingleSelect);
maBtnSelectSingle.SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnSelectSingle.Show();
maBtnSelectSingle->SetPosSizePixel(aPos, aSize);
maBtnSelectSingle->SetQuickHelpText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_SELECT_CURRENT));
maBtnSelectSingle->SetModeImage(aSingleSelect);
maBtnSelectSingle->SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnSelectSingle->Show();
Image aSingleUnselect(ScResId(RID_IMG_UNSELECT_CURRENT));
if (nScaleFactor != 1)
@@ -1088,11 +1100,11 @@ void ScCheckListMenuWindow::packWindow()
}
getSectionPosSize(aPos, aSize, BTN_SINGLE_UNSELECT);
maBtnUnselectSingle.SetPosSizePixel(aPos, aSize);
maBtnUnselectSingle.SetQuickHelpText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_UNSELECT_CURRENT));
maBtnUnselectSingle.SetModeImage(aSingleUnselect);
maBtnUnselectSingle.SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnUnselectSingle.Show();
maBtnUnselectSingle->SetPosSizePixel(aPos, aSize);
maBtnUnselectSingle->SetQuickHelpText(SC_STRLOAD(RID_POPUP_FILTER, STR_BTN_UNSELECT_CURRENT));
maBtnUnselectSingle->SetModeImage(aSingleUnselect);
maBtnUnselectSingle->SetClickHdl( LINK(this, ScCheckListMenuWindow, ButtonHdl) );
maBtnUnselectSingle->Show();
}
void ScCheckListMenuWindow::setAllMemberState(bool bSet)
@@ -1103,21 +1115,21 @@ void ScCheckListMenuWindow::setAllMemberState(bool bSet)
aLabel = maMembers[i].maName;
if (aLabel.isEmpty())
aLabel = ScGlobal::GetRscString(STR_EMPTYDATA);
maChecks.ShowCheckEntry( aLabel, maMembers[i].mpParent, true, bSet);
maChecks->ShowCheckEntry( aLabel, maMembers[i].mpParent, true, bSet);
}
if (!maConfig.mbAllowEmptySet)
// We need to have at least one member selected.
maBtnOk.Enable(maChecks.GetCheckedEntryCount() != 0);
maBtnOk->Enable(maChecks->GetCheckedEntryCount() != 0);
}
void ScCheckListMenuWindow::selectCurrentMemberOnly(bool bSet)
{
setAllMemberState(!bSet);
SvTreeListEntry* pEntry = maChecks.GetCurEntry();
SvTreeListEntry* pEntry = maChecks->GetCurEntry();
if (!pEntry)
return;
maChecks.CheckEntry(pEntry, bSet );
maChecks->CheckEntry(pEntry, bSet );
}
void ScCheckListMenuWindow::cycleFocus(bool bReverse)
@@ -1146,17 +1158,17 @@ void ScCheckListMenuWindow::cycleFocus(bool bReverse)
IMPL_LINK( ScCheckListMenuWindow, ButtonHdl, Button*, pBtn )
{
if (pBtn == &maBtnOk)
if (pBtn == maBtnOk.get())
close(true);
else if (pBtn == &maBtnSelectSingle)
else if (pBtn == maBtnSelectSingle->get())
{
selectCurrentMemberOnly(true);
CheckHdl(&maChecks);
CheckHdl(maChecks.get());
}
else if (pBtn == &maBtnUnselectSingle)
else if (pBtn == maBtnUnselectSingle->get())
{
selectCurrentMemberOnly(false);
CheckHdl(&maChecks);
CheckHdl(maChecks.get());
}
return 0;
}
@@ -1166,27 +1178,27 @@ IMPL_LINK_NOARG(ScCheckListMenuWindow, TriStateHdl)
switch (mePrevToggleAllState)
{
case TRISTATE_FALSE:
maChkToggleAll.SetState(TRISTATE_TRUE);
maChkToggleAll->SetState(TRISTATE_TRUE);
setAllMemberState(true);
break;
case TRISTATE_TRUE:
maChkToggleAll.SetState(TRISTATE_FALSE);
maChkToggleAll->SetState(TRISTATE_FALSE);
setAllMemberState(false);
break;
case TRISTATE_INDET:
default:
maChkToggleAll.SetState(TRISTATE_TRUE);
maChkToggleAll->SetState(TRISTATE_TRUE);
setAllMemberState(true);
break;
}
mePrevToggleAllState = maChkToggleAll.GetState();
mePrevToggleAllState = maChkToggleAll->GetState();
return 0;
}
IMPL_LINK_NOARG(ScCheckListMenuWindow, EdModifyHdl)
{
OUString aSearchText = maEdSearch.GetText();
OUString aSearchText = maEdSearch->GetText();
aSearchText = aSearchText.toAsciiLowerCase();
bool bSearchTextEmpty = aSearchText.isEmpty();
size_t n = maMembers.size();
@@ -1229,26 +1241,26 @@ IMPL_LINK_NOARG(ScCheckListMenuWindow, EdModifyHdl)
IMPL_LINK( ScCheckListMenuWindow, CheckHdl, SvTreeListBox*, pChecks )
{
if (pChecks != &maChecks)
if (pChecks != maChecks.get())
return 0;
SvTreeListEntry* pEntry = pChecks->GetHdlEntry();
if ( pEntry )
maChecks.CheckEntry( pEntry, ( pChecks->GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED ) );
size_t nNumChecked = maChecks.GetCheckedEntryCount();
maChecks->CheckEntry( pEntry, ( pChecks->GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED ) );
size_t nNumChecked = maChecks->GetCheckedEntryCount();
if (nNumChecked == maMembers.size())
// all members visible
maChkToggleAll.SetState(TRISTATE_TRUE);
maChkToggleAll->SetState(TRISTATE_TRUE);
else if (nNumChecked == 0)
// no members visible
maChkToggleAll.SetState(TRISTATE_FALSE);
maChkToggleAll->SetState(TRISTATE_FALSE);
else
maChkToggleAll.SetState(TRISTATE_INDET);
maChkToggleAll->SetState(TRISTATE_INDET);
if (!maConfig.mbAllowEmptySet)
// We need to have at least one member selected.
maBtnOk.Enable(nNumChecked != 0);
maBtnOk->Enable(nNumChecked != 0);
mePrevToggleAllState = maChkToggleAll.GetState();
mePrevToggleAllState = maChkToggleAll->GetState();
return 0;
}
@@ -1315,19 +1327,19 @@ Reference<XAccessible> ScCheckListMenuWindow::CreateAccessible()
fillMenuItemsToAccessible(pAccTop);
pAccTop->setAccessibleChild(
maEdSearch.CreateAccessible(), ScAccessibleFilterTopWindow::EDIT_SEARCH_BOX);
maEdSearch->CreateAccessible(), ScAccessibleFilterTopWindow::EDIT_SEARCH_BOX);
pAccTop->setAccessibleChild(
maChecks.CreateAccessible(), ScAccessibleFilterTopWindow::LISTBOX);
maChecks->CreateAccessible(), ScAccessibleFilterTopWindow::LISTBOX);
pAccTop->setAccessibleChild(
maChkToggleAll.CreateAccessible(), ScAccessibleFilterTopWindow::TOGGLE_ALL);
maChkToggleAll->CreateAccessible(), ScAccessibleFilterTopWindow::TOGGLE_ALL);
pAccTop->setAccessibleChild(
maBtnSelectSingle.CreateAccessible(), ScAccessibleFilterTopWindow::SINGLE_ON_BTN);
maBtnSelectSingle->CreateAccessible(), ScAccessibleFilterTopWindow::SINGLE_ON_BTN);
pAccTop->setAccessibleChild(
maBtnUnselectSingle.CreateAccessible(), ScAccessibleFilterTopWindow::SINGLE_OFF_BTN);
maBtnUnselectSingle->CreateAccessible(), ScAccessibleFilterTopWindow::SINGLE_OFF_BTN);
pAccTop->setAccessibleChild(
maBtnOk.CreateAccessible(), ScAccessibleFilterTopWindow::OK_BTN);
maBtnOk->CreateAccessible(), ScAccessibleFilterTopWindow::OK_BTN);
pAccTop->setAccessibleChild(
maBtnCancel.CreateAccessible(), ScAccessibleFilterTopWindow::CANCEL_BTN);
maBtnCancel->CreateAccessible(), ScAccessibleFilterTopWindow::CANCEL_BTN);
}
return mxAccessible;
@@ -1361,12 +1373,12 @@ void ScCheckListMenuWindow::addDateMember(const OUString& rsName, double nVal, b
OUString aMonthName = aMonths[nMonth-1].FullName;
OUString aDayName = OUString::number(nDay);
maChecks.SetUpdateMode(false);
maChecks->SetUpdateMode(false);
SvTreeListEntry* pYearEntry = maChecks.FindEntry(NULL, aYearName);
SvTreeListEntry* pYearEntry = maChecks->FindEntry(NULL, aYearName);
if (!pYearEntry)
{
pYearEntry = maChecks.InsertEntry(aYearName, NULL, true);
pYearEntry = maChecks->InsertEntry(aYearName, NULL, true);
Member aMemYear;
aMemYear.maName = aYearName;
aMemYear.maRealName = rsName;
@@ -1377,10 +1389,10 @@ void ScCheckListMenuWindow::addDateMember(const OUString& rsName, double nVal, b
maMembers.push_back(aMemYear);
}
SvTreeListEntry* pMonthEntry = maChecks.FindEntry(pYearEntry, aMonthName);
SvTreeListEntry* pMonthEntry = maChecks->FindEntry(pYearEntry, aMonthName);
if (!pMonthEntry)
{
pMonthEntry = maChecks.InsertEntry(aMonthName, pYearEntry, true);
pMonthEntry = maChecks->InsertEntry(aMonthName, pYearEntry, true);
Member aMemMonth;
aMemMonth.maName = aMonthName;
aMemMonth.maRealName = rsName;
@@ -1391,10 +1403,10 @@ void ScCheckListMenuWindow::addDateMember(const OUString& rsName, double nVal, b
maMembers.push_back(aMemMonth);
}
SvTreeListEntry* pDayEntry = maChecks.FindEntry(pMonthEntry, aDayName);
SvTreeListEntry* pDayEntry = maChecks->FindEntry(pMonthEntry, aDayName);
if (!pDayEntry)
{
maChecks.InsertEntry(aDayName, pMonthEntry, false);
maChecks->InsertEntry(aDayName, pMonthEntry, false);
Member aMemDay;
aMemDay.maName = aDayName;
aMemDay.maRealName = rsName;
@@ -1405,7 +1417,7 @@ void ScCheckListMenuWindow::addDateMember(const OUString& rsName, double nVal, b
maMembers.push_back(aMemDay);
}
maChecks.SetUpdateMode(true);
maChecks->SetUpdateMode(true);
}
void ScCheckListMenuWindow::addMember(const OUString& rName, bool bVisible)
@@ -1591,20 +1603,20 @@ void ScCheckListMenuWindow::initMembers()
size_t n = maMembers.size();
size_t nVisMemCount = 0;
maChecks.SetUpdateMode(false);
maChecks.GetModel()->EnableInvalidate(false);
maChecks->SetUpdateMode(false);
maChecks->GetModel()->EnableInvalidate(false);
for (size_t i = 0; i < n; ++i)
{
if (maMembers[i].mbDate)
{
maChecks.CheckEntry(maMembers[i].maName, maMembers[i].mpParent, maMembers[i].mbVisible);
maChecks->CheckEntry(maMembers[i].maName, maMembers[i].mpParent, maMembers[i].mbVisible);
// Expand first node of checked dates
if (!maMembers[i].mpParent && maChecks.IsChecked(maMembers[i].maName, maMembers[i].mpParent))
if (!maMembers[i].mpParent && maChecks->IsChecked(maMembers[i].maName, maMembers[i].mpParent))
{
SvTreeListEntry* pEntry = maChecks.FindEntry(NULL, maMembers[i].maName);
SvTreeListEntry* pEntry = maChecks->FindEntry(NULL, maMembers[i].maName);
if (pEntry)
maChecks.Expand(pEntry);
maChecks->Expand(pEntry);
}
}
else
@@ -1612,11 +1624,11 @@ void ScCheckListMenuWindow::initMembers()
OUString aLabel = maMembers[i].maName;
if (aLabel.isEmpty())
aLabel = ScGlobal::GetRscString(STR_EMPTYDATA);
SvTreeListEntry* pEntry = maChecks.InsertEntry(
SvTreeListEntry* pEntry = maChecks->InsertEntry(
aLabel, NULL, false, TREELIST_APPEND, NULL,
SvLBoxButtonKind_enabledCheckbox);
maChecks.SetCheckButtonState(
maChecks->SetCheckButtonState(
pEntry, maMembers[i].mbVisible ? SV_BUTTON_CHECKED : SV_BUTTON_UNCHECKED);
}
@@ -1626,23 +1638,23 @@ void ScCheckListMenuWindow::initMembers()
if (nVisMemCount == n)
{
// all members visible
maChkToggleAll.SetState(TRISTATE_TRUE);
maChkToggleAll->SetState(TRISTATE_TRUE);
mePrevToggleAllState = TRISTATE_TRUE;
}
else if (nVisMemCount == 0)
{
// no members visible
maChkToggleAll.SetState(TRISTATE_FALSE);
maChkToggleAll->SetState(TRISTATE_FALSE);
mePrevToggleAllState = TRISTATE_FALSE;
}
else
{
maChkToggleAll.SetState(TRISTATE_INDET);
maChkToggleAll->SetState(TRISTATE_INDET);
mePrevToggleAllState = TRISTATE_INDET;
}
maChecks.GetModel()->EnableInvalidate(true);
maChecks.SetUpdateMode(true);
maChecks->GetModel()->EnableInvalidate(true);
maChecks->SetUpdateMode(true);
}
void ScCheckListMenuWindow::setConfig(const Config& rConfig)
@@ -1652,7 +1664,7 @@ void ScCheckListMenuWindow::setConfig(const Config& rConfig)
bool ScCheckListMenuWindow::isAllSelected() const
{
return maChkToggleAll.IsChecked();
return maChkToggleAll->IsChecked();
}
void ScCheckListMenuWindow::getResult(ResultType& rResult)
@@ -1666,7 +1678,7 @@ void ScCheckListMenuWindow::getResult(ResultType& rResult)
OUString aLabel = maMembers[i].maName;
if (aLabel.isEmpty())
aLabel = ScGlobal::GetRscString(STR_EMPTYDATA);
bool bState = maChecks.IsChecked( aLabel, maMembers[i].mpParent );
bool bState = maChecks->IsChecked( aLabel, maMembers[i].mpParent );
OUString sName;
if ( maMembers[i].mbDate )
sName = maMembers[i].maRealName;
@@ -1683,7 +1695,7 @@ void ScCheckListMenuWindow::launch(const Rectangle& rRect)
packWindow();
if (!maConfig.mbAllowEmptySet)
// We need to have at least one member selected.
maBtnOk.Enable(maChecks.GetCheckedEntryCount() != 0);
maBtnOk->Enable(maChecks->GetCheckedEntryCount() != 0);
Rectangle aRect(rRect);
if (maConfig.mbRTL)
diff --git a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
index 3a3bcd7..3b8cf87 100644
--- a/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
+++ b/sc/source/ui/cctrl/tbzoomsliderctrl.cxx
@@ -233,7 +233,13 @@ ScZoomSliderWnd::ScZoomSliderWnd( vcl::Window* pParent, const ::com::sun::star::
ScZoomSliderWnd::~ScZoomSliderWnd()
{
dispose();
}
void ScZoomSliderWnd::dispose()
{
delete mpImpl;
vcl::Window::dispose();
}
void ScZoomSliderWnd::MouseButtonDown( const MouseEvent& rMEvt )
diff --git a/sc/source/ui/condformat/condformatdlgentry.cxx b/sc/source/ui/condformat/condformatdlgentry.cxx
index b89b3b0..2b18941 100644
--- a/sc/source/ui/condformat/condformatdlgentry.cxx
+++ b/sc/source/ui/condformat/condformatdlgentry.cxx
@@ -38,11 +38,11 @@
ScCondFrmtEntry::ScCondFrmtEntry(vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos):
Control(pParent, ScResId( RID_COND_ENTRY ) ),
mbActive(false),
maFtCondNr( this, ScResId( FT_COND_NR ) ),
maFtCondition( this, ScResId( FT_CONDITION ) ),
maFtCondNr( new FixedText( this, ScResId( FT_COND_NR ) ) ),
maFtCondition( new FixedText( this, ScResId( FT_CONDITION ) ) ),
mnIndex(0),
maStrCondition(ScResId( STR_CONDITION ).toString()),
maLbType( this, ScResId( LB_TYPE ) ),
maLbType( new ListBox( this, ScResId( LB_TYPE ) ) ),
mpDoc(pDoc),
maPos(rPos)
{
@@ -51,18 +51,27 @@ ScCondFrmtEntry::ScCondFrmtEntry(vcl::Window* pParent, ScDocument* pDoc, const S
SetControlBackground(aBack);
SetBackground(GetControlBackground());
maFtCondNr.SetControlBackground(aBack);
maFtCondNr.SetBackground(maFtCondNr.GetControlBackground());
maFtCondNr->SetControlBackground(aBack);
maFtCondNr->SetBackground(maFtCondNr->GetControlBackground());
maFtCondition.SetControlBackground(aBack);
maFtCondition.SetBackground(maFtCondition.GetControlBackground());
maFtCondition->SetControlBackground(aBack);
maFtCondition->SetBackground(maFtCondition->GetControlBackground());
maLbType.SetSelectHdl( LINK( pParent, ScCondFormatList, TypeListHdl ) );
maLbType->SetSelectHdl( LINK( pParent, ScCondFormatList, TypeListHdl ) );
maClickHdl = LINK( pParent, ScCondFormatList, EntrySelectHdl );
}
ScCondFrmtEntry::~ScCondFrmtEntry()
{
dispose();
}
void ScCondFrmtEntry::dispose()
{
maFtCondNr.disposeAndClear();
maFtCondition.disposeAndClear();
maLbType.disposeAndClear();
Control::dispose();
}
bool ScCondFrmtEntry::Notify( NotifyEvent& rNEvt )
@@ -79,7 +88,7 @@ void ScCondFrmtEntry::SetIndex(sal_Int32 nIndex)
mnIndex = nIndex;
OUStringBuffer aBuffer(maStrCondition);
aBuffer.append(OUString::number(nIndex));
maFtCondNr.SetText(aBuffer.makeStringAndClear());
maFtCondNr->SetText(aBuffer.makeStringAndClear());
}
void ScCondFrmtEntry::SetHeight()
@@ -109,9 +118,9 @@ void ScCondFrmtEntry::SetHeight()
void ScCondFrmtEntry::Select()
{
maFtCondition.SetText(OUString());
maFtCondition.Hide();
maLbType.Show();
maFtCondition->SetText(OUString());
maFtCondition->Hide();
maLbType->Show();
mbActive = true;
SetHeight();
}
@@ -119,9 +128,9 @@ void ScCondFrmtEntry::Select()
void ScCondFrmtEntry::Deselect()
{
OUString maCondText = GetExpressionString();
maFtCondition.SetText(maCondText);
maFtCondition.Show();
maLbType.Hide();
maFtCondition->SetText(maCondText);
maFtCondition->Show();
maLbType->Hide();
mbActive = false;
SetHeight();
}
@@ -179,18 +188,18 @@ const ScConditionMode ScConditionFrmtEntry::mpEntryToCond[ScConditionFrmtEntry::
ScConditionFrmtEntry::ScConditionFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, ScCondFormatDlg* pDialogParent,
const ScAddress& rPos, const ScCondFormatEntry* pFormatEntry ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maLbCondType( this, ScResId( LB_CELLIS_TYPE ) ),
maEdVal1( this, NULL, NULL, ScResId( ED_VAL1 ) ),
maEdVal2( this, NULL, NULL, ScResId( ED_VAL2 ) ),
maFtVal( this, ScResId( FT_VAL ) ),
maFtStyle( this, ScResId( FT_STYLE ) ),
maLbStyle( this, ScResId( LB_STYLE ) ),
maWdPreview( this, ScResId( WD_PREVIEW ) ),
maLbCondType( new ListBox( this, ScResId( LB_CELLIS_TYPE ) ) ),
maEdVal1( new formula::RefEdit( this, NULL, NULL, ScResId( ED_VAL1 ) ) ),
maEdVal2( new formula::RefEdit( this, NULL, NULL, ScResId( ED_VAL2 ) ) ),
maFtVal( new FixedText( this, ScResId( FT_VAL ) ) ),
maFtStyle( new FixedText( this, ScResId( FT_STYLE ) ) ),
maLbStyle( new ListBox( this, ScResId( LB_STYLE ) ) ),
maWdPreview( new SvxFontPrevWindow( this, ScResId( WD_PREVIEW ) ) ),
mbIsInStyleCreate(false)
{
FreeResource();
maLbType.SelectEntryPos(1);
maLbType->SelectEntryPos(1);
Init(pDialogParent);
@@ -199,76 +208,93 @@ ScConditionFrmtEntry::ScConditionFrmtEntry( vcl::Window* pParent, ScDocument* pD
if(pFormatEntry)
{
OUString aStyleName = pFormatEntry->GetStyle();
maLbStyle.SelectEntry(aStyleName);
maLbStyle->SelectEntry(aStyleName);
StyleSelectHdl(NULL);
ScConditionMode eMode = pFormatEntry->GetOperation();
maLbCondType.SelectEntryPos(ConditionModeToEntryPos(eMode));
maLbCondType->SelectEntryPos(ConditionModeToEntryPos(eMode));
switch(GetNumberEditFields(eMode))
{
case 0:
maEdVal1.Hide();
maEdVal2.Hide();
maEdVal1->Hide();
maEdVal2->Hide();
break;
case 1:
maEdVal1.Show();
maEdVal1.SetText(pFormatEntry->GetExpression(maPos, 0));
maEdVal2.Hide();
maEdVal1->Show();
maEdVal1->SetText(pFormatEntry->GetExpression(maPos, 0));
maEdVal2->Hide();
OnEdChanged(&maEdVal1);
break;
case 2:
maEdVal1.Show();
maEdVal1.SetText(pFormatEntry->GetExpression(maPos, 0));
maEdVal1->Show();
maEdVal1->SetText(pFormatEntry->GetExpression(maPos, 0));
OnEdChanged(&maEdVal1);
maEdVal2.Show();
maEdVal2.SetText(pFormatEntry->GetExpression(maPos, 1));
maEdVal2->Show();
maEdVal2->SetText(pFormatEntry->GetExpression(maPos, 1));
OnEdChanged(&maEdVal2);
break;
}
}
else
{
maLbCondType.SelectEntryPos(0);
maEdVal2.Hide();
maLbStyle.SelectEntryPos(1);
maLbCondType->SelectEntryPos(0);
maEdVal2->Hide();
maLbStyle->SelectEntryPos(1);
}
}
ScConditionFrmtEntry::~ScConditionFrmtEntry()
{
dispose();
}
void ScConditionFrmtEntry::dispose()
{
maLbCondType.disposeAndClear();
maEdVal1.disposeAndClear();
maEdVal2.disposeAndClear();
maFtVal.disposeAndClear();
maFtStyle.disposeAndClear();
maLbStyle.disposeAndClear();
maWdPreview.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScConditionFrmtEntry::Init(ScCondFormatDlg* pDialogParent)
{
maEdVal1.SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdVal2.SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdVal1.SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
maEdVal2.SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
maEdVal1->SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdVal2->SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdVal1->SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
maEdVal2->SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
maEdVal1.SetStyle( maEdVal1.GetStyle() | WB_FORCECTRLBACKGROUND );
maEdVal2.SetStyle( maEdVal2.GetStyle() | WB_FORCECTRLBACKGROUND );
maEdVal1->SetStyle( maEdVal1->GetStyle() | WB_FORCECTRLBACKGROUND );
maEdVal2->SetStyle( maEdVal2->GetStyle() | WB_FORCECTRLBACKGROUND );
maEdVal1.SetModifyHdl( LINK( this, ScConditionFrmtEntry, OnEdChanged ) );
maEdVal2.SetModifyHdl( LINK( this, ScConditionFrmtEntry, OnEdChanged ) );
maEdVal1->SetModifyHdl( LINK( this, ScConditionFrmtEntry, OnEdChanged ) );
maEdVal2->SetModifyHdl( LINK( this, ScConditionFrmtEntry, OnEdChanged ) );
FillStyleListBox( mpDoc, maLbStyle );
maLbStyle.SetSelectHdl( LINK( this, ScConditionFrmtEntry, StyleSelectHdl ) );
FillStyleListBox( mpDoc, *maLbStyle.get() );
maLbStyle->SetSelectHdl( LINK( this, ScConditionFrmtEntry, StyleSelectHdl ) );
maLbCondType.SetSelectHdl( LINK( this, ScConditionFrmtEntry, ConditionTypeSelectHdl ) );
maLbCondType->SetSelectHdl( LINK( this, ScConditionFrmtEntry, ConditionTypeSelectHdl ) );
}
ScFormatEntry* ScConditionFrmtEntry::createConditionEntry() const
{
ScConditionMode eMode = EntryPosToConditionMode(maLbCondType.GetSelectEntryPos());
OUString aExpr1 = maEdVal1.GetText();
ScConditionMode eMode = EntryPosToConditionMode(maLbCondType->GetSelectEntryPos());
OUString aExpr1 = maEdVal1->GetText();
OUString aExpr2;
if (GetNumberEditFields(eMode) == 2)
{
aExpr2 = maEdVal2.GetText();
aExpr2 = maEdVal2->GetText();
if (aExpr2.isEmpty())
{
return NULL;
}
}
ScFormatEntry* pEntry = new ScCondFormatEntry(eMode, aExpr1, aExpr2, mpDoc, maPos, maLbStyle.GetSelectEntry());
ScFormatEntry* pEntry = new ScCondFormatEntry(eMode, aExpr1, aExpr2, mpDoc, maPos, maLbStyle->GetSelectEntry());
return pEntry;
}
@@ -416,7 +442,7 @@ sal_Int32 ScConditionFrmtEntry::GetNumberEditFields( ScConditionMode eMode ) con
OUString ScConditionFrmtEntry::GetExpressionString()
{
return ScCondFormatHelper::GetExpression(CONDITION, maLbCondType.GetSelectEntryPos(), maEdVal1.GetText(), maEdVal2.GetText());
return ScCondFormatHelper::GetExpression(CONDITION, maLbCondType->GetSelectEntryPos(), maEdVal1->GetText(), maEdVal2->GetText());
}
ScFormatEntry* ScConditionFrmtEntry::GetEntry() const
@@ -426,33 +452,33 @@ ScFormatEntry* ScConditionFrmtEntry::GetEntry() const
void ScConditionFrmtEntry::SetActive()
{
ScConditionMode eMode = EntryPosToConditionMode(maLbCondType.GetSelectEntryPos());
maLbCondType.Show();
ScConditionMode eMode = EntryPosToConditionMode(maLbCondType->GetSelectEntryPos());
maLbCondType->Show();
switch(GetNumberEditFields(eMode))
{
case 1:
maEdVal1.Show();
maEdVal1->Show();
break;
case 2:
maEdVal1.Show();
maEdVal2.Show();
maEdVal1->Show();
maEdVal2->Show();
break;
}
maFtStyle.Show();
maLbStyle.Show();
maWdPreview.Show();
maFtStyle->Show();
maLbStyle->Show();
maWdPreview->Show();
Select();
}
void ScConditionFrmtEntry::SetInactive()
{
maLbCondType.Hide();
maEdVal1.Hide();
maEdVal2.Hide();
maFtStyle.Hide();
maLbStyle.Hide();
maWdPreview.Hide();
maLbCondType->Hide();
maEdVal1->Hide();
maEdVal2->Hide();
maFtStyle->Hide();
maLbStyle->Hide();
maWdPreview->Hide();
Deselect();
}
@@ -482,7 +508,7 @@ void ScConditionFrmtEntry::Notify(SfxBroadcaster&, const SfxHint& rHint)
if(nHint == SFX_STYLESHEET_MODIFIED)
{
if(!mbIsInStyleCreate)
UpdateStyleList(maLbStyle, mpDoc);
UpdateStyleList(*maLbStyle.get(), mpDoc);
}
}
@@ -556,7 +582,7 @@ void StyleSelect( ListBox& rLbStyle, ScDocument* pDoc, SvxFontPrevWindow& rWdPre
IMPL_LINK_NOARG(ScConditionFrmtEntry, StyleSelectHdl)
{
mbIsInStyleCreate = true;
StyleSelect( maLbStyle, mpDoc, maWdPreview );
StyleSelect( *maLbStyle.get(), mpDoc, *maWdPreview.get() );
mbIsInStyleCreate = false;
return 0;
}
@@ -565,41 +591,55 @@ IMPL_LINK_NOARG(ScConditionFrmtEntry, StyleSelectHdl)
ScFormulaFrmtEntry::ScFormulaFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, ScCondFormatDlg* pDialogParent, const ScAddress& rPos, const ScCondFormatEntry* pFormat ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maFtStyle( this, ScResId( FT_STYLE ) ),
maLbStyle( this, ScResId( LB_STYLE ) ),
maWdPreview( this, ScResId( WD_PREVIEW ) ),
maEdFormula( this, NULL, NULL, ScResId( ED_FORMULA ) )
maFtStyle( new FixedText( this, ScResId( FT_STYLE ) ) ),
maLbStyle( new ListBox( this, ScResId( LB_STYLE ) ) ),
maWdPreview( new SvxFontPrevWindow( this, ScResId( WD_PREVIEW ) ) ),
maEdFormula( new formula::RefEdit(this, NULL, NULL, ScResId( ED_FORMULA ) ) )
{
Init(pDialogParent);
FreeResource();
maLbType.SelectEntryPos(2);
maLbType->SelectEntryPos(2);
if(pFormat)
{
maEdFormula.SetText(pFormat->GetExpression(rPos, 0, 0, pDoc->GetGrammar()));
maLbStyle.SelectEntry(pFormat->GetStyle());
maEdFormula->SetText(pFormat->GetExpression(rPos, 0, 0, pDoc->GetGrammar()));
maLbStyle->SelectEntry(pFormat->GetStyle());
}
else
{
maLbStyle.SelectEntryPos(1);
maLbStyle->SelectEntryPos(1);
}
StyleSelectHdl(NULL);
}
ScFormulaFrmtEntry::~ScFormulaFrmtEntry()
{
dispose();
}
void ScFormulaFrmtEntry::dispose()
{
maFtStyle.disposeAndClear();
maLbStyle.disposeAndClear();
maWdPreview.disposeAndClear();
maEdFormula.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScFormulaFrmtEntry::Init(ScCondFormatDlg* pDialogParent)
{
maEdFormula.SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdFormula.SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
maEdFormula->SetGetFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeGetFocusHdl ) );
maEdFormula->SetLoseFocusHdl( LINK( pDialogParent, ScCondFormatDlg, RangeLoseFocusHdl ) );
FillStyleListBox( mpDoc, maLbStyle );
maLbStyle.SetSelectHdl( LINK( this, ScFormulaFrmtEntry, StyleSelectHdl ) );
FillStyleListBox( mpDoc, *maLbStyle.get() );
maLbStyle->SetSelectHdl( LINK( this, ScFormulaFrmtEntry, StyleSelectHdl ) );
}
IMPL_LINK_NOARG(ScFormulaFrmtEntry, StyleSelectHdl)
{
StyleSelect( maLbStyle, mpDoc, maWdPreview );
StyleSelect( *maLbStyle.get(), mpDoc, *maWdPreview.get() );
return 0;
}
@@ -607,12 +647,12 @@ IMPL_LINK_NOARG(ScFormulaFrmtEntry, StyleSelectHdl)
ScFormatEntry* ScFormulaFrmtEntry::createFormulaEntry() const
{
ScConditionMode eMode = SC_COND_DIRECT;
OUString aFormula = maEdFormula.GetText();
OUString aFormula = maEdFormula->GetText();
if(aFormula.isEmpty())
return NULL;
OUString aExpr2;
ScFormatEntry* pEntry = new ScCondFormatEntry(eMode, aFormula, aExpr2, mpDoc, maPos, maLbStyle.GetSelectEntry());
ScFormatEntry* pEntry = new ScCondFormatEntry(eMode, aFormula, aExpr2, mpDoc, maPos, maLbStyle->GetSelectEntry());
return pEntry;
}
@@ -623,25 +663,25 @@ ScFormatEntry* ScFormulaFrmtEntry::GetEntry() const
OUString ScFormulaFrmtEntry::GetExpressionString()
{
return ScCondFormatHelper::GetExpression(FORMULA, 0, maEdFormula.GetText());
return ScCondFormatHelper::GetExpression(FORMULA, 0, maEdFormula->GetText());
}
void ScFormulaFrmtEntry::SetActive()
{
maWdPreview.Show();
maFtStyle.Show();
maLbStyle.Show();
maEdFormula.Show();
maWdPreview->Show();
maFtStyle->Show();
maLbStyle->Show();
maEdFormula->Show();
Select();
}
void ScFormulaFrmtEntry::SetInactive()
{
maWdPreview.Hide();
maFtStyle.Hide();
maLbStyle.Hide();
maEdFormula.Hide();
maWdPreview->Hide();
maFtStyle->Hide();
maLbStyle->Hide();
maEdFormula->Hide();
Deselect();
}
@@ -735,45 +775,62 @@ ScColorScaleEntry* createColorScaleEntry( const ListBox& rType, const ColorListB
ScColorScale2FrmtEntry::ScColorScale2FrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maLbColorFormat( this, ScResId( LB_COLOR_FORMAT ) ),
maLbEntryTypeMin( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ),
maLbEntryTypeMax( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ),
maEdMin( this, ScResId( ED_COL_SCALE_MIN ) ),
maEdMax( this, ScResId( ED_COL_SCALE_MAX ) ),
maLbColMin( this, ScResId( LB_COL_MIN ) ),
maLbColMax( this, ScResId( LB_COL_MAX ) )
maLbColorFormat( new ListBox( this, ScResId( LB_COLOR_FORMAT ) ) ),
maLbEntryTypeMin( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ) ),
maLbEntryTypeMax( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ) ),
maEdMin( new Edit( this, ScResId( ED_COL_SCALE_MIN ) ) ),
maEdMax( new Edit( this, ScResId( ED_COL_SCALE_MAX ) ) ),
maLbColMin( new ColorListBox( this, ScResId( LB_COL_MIN ) ) ),
maLbColMax( new ColorListBox( this, ScResId( LB_COL_MAX ) ) )
{
// remove the automatic entry from color scales
maLbEntryTypeMin.RemoveEntry(0);
maLbEntryTypeMax.RemoveEntry(0);
maLbEntryTypeMin->RemoveEntry(0);
maLbEntryTypeMax->RemoveEntry(0);
maLbType.SelectEntryPos(0);
maLbColorFormat.SelectEntryPos(0);
maLbType->SelectEntryPos(0);
maLbColorFormat->SelectEntryPos(0);
Init();
if(pFormat)
{
ScColorScaleFormat::const_iterator itr = pFormat->begin();
SetColorScaleEntryTypes(*itr, maLbEntryTypeMin, maEdMin, maLbColMin, pDoc);
SetColorScaleEntryTypes(*itr, *maLbEntryTypeMin.get(), *maEdMin.get(), *maLbColMin.get(), pDoc);
++itr;
SetColorScaleEntryTypes(*itr, maLbEntryTypeMax, maEdMax, maLbColMax, pDoc);
SetColorScaleEntryTypes(*itr, *maLbEntryTypeMax.get(), *maEdMax.get(), *maLbColMax.get(), pDoc);
}
else
{
maLbEntryTypeMin.SelectEntryPos(0);
maLbEntryTypeMax.SelectEntryPos(1);
maLbEntryTypeMin->SelectEntryPos(0);
maLbEntryTypeMax->SelectEntryPos(1);
}
FreeResource();
maLbColorFormat.SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
maLbColorFormat->SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
EntryTypeHdl(&maLbEntryTypeMin);
EntryTypeHdl(&maLbEntryTypeMax);
EntryTypeHdl(maLbEntryTypeMin.get());
EntryTypeHdl(maLbEntryTypeMax.get());
}
ScColorScale2FrmtEntry::~ScColorScale2FrmtEntry()
{
dispose();
}
void ScColorScale2FrmtEntry::dispose()
{
maLbColorFormat.disposeAndClear();
maLbEntryTypeMin.disposeAndClear();
maLbEntryTypeMax.disposeAndClear();
maEdMin.disposeAndClear();
maEdMax.disposeAndClear();
maLbColMin.disposeAndClear();
maLbColMax.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScColorScale2FrmtEntry::Init()
{
maLbEntryTypeMin.SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax.SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMin->SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax->SetSelectHdl( LINK( this, ScColorScale2FrmtEntry, EntryTypeHdl ) );
SfxObjectShell* pDocSh = SfxObjectShell::Current();
XColorListRef pColorTable;
@@ -789,30 +846,30 @@ void ScColorScale2FrmtEntry::Init()
if ( pColorTable.is() )
{
// filling the line color box
maLbColMin.SetUpdateMode( false );
maLbColMax.SetUpdateMode( false );
maLbColMin->SetUpdateMode( false );
maLbColMax->SetUpdateMode( false );
for ( long i = 0; i < pColorTable->Count(); ++i )
{
XColorEntry* pEntry = pColorTable->GetColor(i);
maLbColMin.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMax.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMin->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMax->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
if(pEntry->GetColor() == Color(COL_LIGHTRED))
maLbColMin.SelectEntryPos(i);
maLbColMin->SelectEntryPos(i);
if(pEntry->GetColor() == Color(COL_LIGHTBLUE))
maLbColMax.SelectEntryPos(i);
maLbColMax->SelectEntryPos(i);
}
maLbColMin.SetUpdateMode( true );
maLbColMax.SetUpdateMode( true );
maLbColMin->SetUpdateMode( true );
maLbColMax->SetUpdateMode( true );
}
}
ScFormatEntry* ScColorScale2FrmtEntry::createColorscaleEntry() const
{
ScColorScaleFormat* pColorScale = new ScColorScaleFormat(mpDoc);
pColorScale->AddEntry(createColorScaleEntry(maLbEntryTypeMin, maLbColMin, maEdMin, mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(maLbEntryTypeMax, maLbColMax, maEdMax, mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(*maLbEntryTypeMin.get(), *maLbColMin.get(), *maEdMin.get(), mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(*maLbEntryTypeMax.get(), *maLbColMax.get(), *maEdMax.get(), mpDoc, maPos));
return pColorScale;
}
@@ -828,32 +885,32 @@ ScFormatEntry* ScColorScale2FrmtEntry::GetEntry() const
void ScColorScale2FrmtEntry::SetActive()
{
maLbColorFormat.Show();
maLbColorFormat->Show();
maLbEntryTypeMin.Show();
maLbEntryTypeMax.Show();
maLbEntryTypeMin->Show();
maLbEntryTypeMax->Show();
maEdMin.Show();
maEdMax.Show();
maEdMin->Show();
maEdMax->Show();
maLbColMin.Show();
maLbColMax.Show();
maLbColMin->Show();
maLbColMax->Show();
Select();
}
void ScColorScale2FrmtEntry::SetInactive()
{
maLbColorFormat.Hide();
maLbColorFormat->Hide();
maLbEntryTypeMin.Hide();
maLbEntryTypeMax.Hide();
maLbEntryTypeMin->Hide();
maLbEntryTypeMax->Hide();
maEdMin.Hide();
maEdMax.Hide();
maEdMin->Hide();
maEdMax->Hide();
maLbColMin.Hide();
maLbColMax.Hide();
maLbColMin->Hide();
maLbColMax->Hide();
Deselect();
}
@@ -861,10 +918,10 @@ void ScColorScale2FrmtEntry::SetInactive()
IMPL_LINK( ScColorScale2FrmtEntry, EntryTypeHdl, ListBox*, pBox )
{
Edit* pEd = NULL;
if (pBox == &maLbEntryTypeMin)
pEd = &maEdMin;
else if (pBox == &maLbEntryTypeMax)
pEd = &maEdMax;
if (pBox == maLbEntryTypeMin.get())
pEd = maEdMin;
else if (pBox == maLbEntryTypeMax.get())
pEd = maEdMax.get();
if (!pEd)
return 0;
@@ -886,56 +943,76 @@ IMPL_LINK( ScColorScale2FrmtEntry, EntryTypeHdl, ListBox*, pBox )
ScColorScale3FrmtEntry::ScColorScale3FrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maLbColorFormat( this, ScResId( LB_COLOR_FORMAT ) ),
maLbEntryTypeMin( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ),
maLbEntryTypeMiddle( this, ScResId( LB_TYPE_COL_SCALE_MIDDLE ) ),
maLbEntryTypeMax( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ),
maEdMin( this, ScResId( ED_COL_SCALE_MIN ) ),
maEdMiddle( this, ScResId( ED_COL_SCALE_MIDDLE ) ),
maEdMax( this, ScResId( ED_COL_SCALE_MAX ) ),
maLbColMin( this, ScResId( LB_COL_MIN ) ),
maLbColMiddle( this, ScResId( LB_COL_MIDDLE ) ),
maLbColMax( this, ScResId( LB_COL_MAX ) )
maLbColorFormat( new ListBox( this, ScResId( LB_COLOR_FORMAT ) ) ),
maLbEntryTypeMin( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ) ),
maLbEntryTypeMiddle( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MIDDLE ) ) ),
maLbEntryTypeMax( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ) ),
maEdMin( new Edit( this, ScResId( ED_COL_SCALE_MIN ) ) ),
maEdMiddle( new Edit( this, ScResId( ED_COL_SCALE_MIDDLE ) ) ),
maEdMax( new Edit( this, ScResId( ED_COL_SCALE_MAX ) ) ),
maLbColMin( new ColorListBox( this, ScResId( LB_COL_MIN ) ) ),
maLbColMiddle( new ColorListBox( this, ScResId( LB_COL_MIDDLE ) ) ),
maLbColMax( new ColorListBox( this, ScResId( LB_COL_MAX ) ) )
{
// remove the automatic entry from color scales
maLbEntryTypeMin.RemoveEntry(0);
maLbEntryTypeMiddle.RemoveEntry(0);
maLbEntryTypeMax.RemoveEntry(0);
maLbColorFormat.SelectEntryPos(1);
maLbEntryTypeMin->RemoveEntry(0);
maLbEntryTypeMiddle->RemoveEntry(0);
maLbEntryTypeMax->RemoveEntry(0);
maLbColorFormat->SelectEntryPos(1);
Init();
maLbType.SelectEntryPos(0);
maLbType->SelectEntryPos(0);
if(pFormat)
{
ScColorScaleFormat::const_iterator itr = pFormat->begin();
SetColorScaleEntryTypes(*itr, maLbEntryTypeMin, maEdMin, maLbColMin, pDoc);
SetColorScaleEntryTypes(*itr, *maLbEntryTypeMin.get(), *maEdMin.get(), *maLbColMin.get(), pDoc);
assert(pFormat->size() == 3);
++itr;
SetColorScaleEntryTypes(*itr, maLbEntryTypeMiddle, maEdMiddle, maLbColMiddle, pDoc);
SetColorScaleEntryTypes(*itr, *maLbEntryTypeMiddle.get(), *maEdMiddle.get(), *maLbColMiddle.get(), pDoc);
++itr;
SetColorScaleEntryTypes(*itr, maLbEntryTypeMax, maEdMax, maLbColMax, pDoc);
SetColorScaleEntryTypes(*itr, *maLbEntryTypeMax.get(), *maEdMax.get(), *maLbColMax.get(), pDoc);
}
else
{
maLbColorFormat.SelectEntryPos(1);
maLbEntryTypeMin.SelectEntryPos(0);
maLbEntryTypeMiddle.SelectEntryPos(2);
maLbEntryTypeMax.SelectEntryPos(1);
maEdMiddle.SetText(OUString::number(50));
maLbColorFormat->SelectEntryPos(1);
maLbEntryTypeMin->SelectEntryPos(0);
maLbEntryTypeMiddle->SelectEntryPos(2);
maLbEntryTypeMax->SelectEntryPos(1);
maEdMiddle->SetText(OUString::number(50));
}
FreeResource();
maLbColorFormat.SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
EntryTypeHdl(&maLbEntryTypeMin);
EntryTypeHdl(&maLbEntryTypeMiddle);
EntryTypeHdl(&maLbEntryTypeMax);
maLbColorFormat->SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
EntryTypeHdl(maLbEntryTypeMin.get());
EntryTypeHdl(maLbEntryTypeMiddle.get());
EntryTypeHdl(maLbEntryTypeMax.get());
}
ScColorScale3FrmtEntry::~ScColorScale3FrmtEntry()
{
dispose();
}
void ScColorScale3FrmtEntry::dispose()
{
maLbColorFormat.disposeAndClear();
maLbEntryTypeMin.disposeAndClear();
maLbEntryTypeMiddle.disposeAndClear();
maLbEntryTypeMax.disposeAndClear();
maEdMin.disposeAndClear();
maEdMiddle.disposeAndClear();
maEdMax.disposeAndClear();
maLbColMin.disposeAndClear();
maLbColMiddle.disposeAndClear();
maLbColMax.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScColorScale3FrmtEntry::Init()
{
maLbEntryTypeMin.SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax.SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMiddle.SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMin->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMax->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
maLbEntryTypeMiddle->SetSelectHdl( LINK( this, ScColorScale3FrmtEntry, EntryTypeHdl ) );
SfxObjectShell* pDocSh = SfxObjectShell::Current();
XColorListRef pColorTable;
@@ -951,37 +1028,37 @@ void ScColorScale3FrmtEntry::Init()
if ( pColorTable.is() )
{
// filling the line color box
maLbColMin.SetUpdateMode( false );
maLbColMiddle.SetUpdateMode( false );
maLbColMax.SetUpdateMode( false );
maLbColMin->SetUpdateMode( false );
maLbColMiddle->SetUpdateMode( false );
maLbColMax->SetUpdateMode( false );
for ( long i = 0; i < pColorTable->Count(); ++i )
{
XColorEntry* pEntry = pColorTable->GetColor(i);
maLbColMin.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMiddle.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMax.InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMin->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMiddle->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
maLbColMax->InsertEntry( pEntry->GetColor(), pEntry->GetName() );
if(pEntry->GetColor() == Color(COL_LIGHTRED))
maLbColMin.SelectEntryPos(i);
maLbColMin->SelectEntryPos(i);
if(pEntry->GetColor() == Color(COL_GREEN))
maLbColMiddle.SelectEntryPos(i);
maLbColMiddle->SelectEntryPos(i);
if(pEntry->GetColor() == Color(COL_LIGHTBLUE))
maLbColMax.SelectEntryPos(i);
maLbColMax->SelectEntryPos(i);
}
maLbColMin.SetUpdateMode( true );
maLbColMiddle.SetUpdateMode( true );
maLbColMax.SetUpdateMode( true );
maLbColMin->SetUpdateMode( true );
maLbColMiddle->SetUpdateMode( true );
maLbColMax->SetUpdateMode( true );
}
}
ScFormatEntry* ScColorScale3FrmtEntry::createColorscaleEntry() const
{
ScColorScaleFormat* pColorScale = new ScColorScaleFormat(mpDoc);
pColorScale->AddEntry(createColorScaleEntry(maLbEntryTypeMin, maLbColMin, maEdMin, mpDoc, maPos));
if(maLbColorFormat.GetSelectEntryPos() == 1)
pColorScale->AddEntry(createColorScaleEntry(maLbEntryTypeMiddle, maLbColMiddle, maEdMiddle, mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(maLbEntryTypeMax, maLbColMax, maEdMax, mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(*maLbEntryTypeMin.get(), *maLbColMin.get(), *maEdMin.get(), mpDoc, maPos));
if(maLbColorFormat->GetSelectEntryPos() == 1)
pColorScale->AddEntry(createColorScaleEntry(*maLbEntryTypeMiddle.get(), *maLbColMiddle.get(), *maEdMiddle.get(), mpDoc, maPos));
pColorScale->AddEntry(createColorScaleEntry(*maLbEntryTypeMax.get(), *maLbColMax.get(), *maEdMax.get(), mpDoc, maPos));
return pColorScale;
}
@@ -997,37 +1074,37 @@ ScFormatEntry* ScColorScale3FrmtEntry::GetEntry() const
void ScColorScale3FrmtEntry::SetActive()
{
maLbColorFormat.Show();
maLbEntryTypeMin.Show();
maLbEntryTypeMiddle.Show();
maLbEntryTypeMax.Show();
maLbColorFormat->Show();
maLbEntryTypeMin->Show();
maLbEntryTypeMiddle->Show();
maLbEntryTypeMax->Show();
maEdMin.Show();
maEdMiddle.Show();
maEdMax.Show();
maEdMin->Show();
maEdMiddle->Show();
maEdMax->Show();
maLbColMin.Show();
maLbColMiddle.Show();
maLbColMax.Show();
maLbColMin->Show();
maLbColMiddle->Show();
maLbColMax->Show();
Select();
}
void ScColorScale3FrmtEntry::SetInactive()
{
maLbColorFormat.Hide();
maLbColorFormat->Hide();
maLbEntryTypeMin.Hide();
maLbEntryTypeMiddle.Hide();
maLbEntryTypeMax.Hide();
maLbEntryTypeMin->Hide();
maLbEntryTypeMiddle->Hide();
maLbEntryTypeMax->Hide();
maEdMin.Hide();
maEdMiddle.Hide();
maEdMax.Hide();
maEdMin->Hide();
maEdMiddle->Hide();
maEdMax->Hide();
maLbColMin.Hide();
maLbColMiddle.Hide();
maLbColMax.Hide();
maLbColMin->Hide();
maLbColMiddle->Hide();
maLbColMax->Hide();
Deselect();
}
@@ -1035,12 +1112,12 @@ void ScColorScale3FrmtEntry::SetInactive()
IMPL_LINK( ScColorScale3FrmtEntry, EntryTypeHdl, ListBox*, pBox )
{
Edit* pEd = NULL;
if(pBox == &maLbEntryTypeMin)
pEd = &maEdMin;
else if(pBox == &maLbEntryTypeMiddle)
pEd = &maEdMiddle;
else if(pBox == &maLbEntryTypeMax)
pEd = &maEdMax;
if(pBox == maLbEntryTypeMin.get())
pEd = maEdMin.get();
else if(pBox == maLbEntryTypeMiddle.get())
pEd = maEdMiddle.get();
else if(pBox == maLbEntryTypeMax.get())
pEd = maEdMax.get();
if (!pEd)
return 0;
@@ -1062,24 +1139,24 @@ IMPL_LINK( ScColorScale3FrmtEntry, EntryTypeHdl, ListBox*, pBox )
IMPL_LINK_NOARG( ScConditionFrmtEntry, ConditionTypeSelectHdl )
{
sal_Int32 nSelectPos = maLbCondType.GetSelectEntryPos();
sal_Int32 nSelectPos = maLbCondType->GetSelectEntryPos();
ScConditionMode eMode = EntryPosToConditionMode(nSelectPos);
switch(GetNumberEditFields(eMode))
{
case 0:
maEdVal1.Hide();
maEdVal2.Hide();
maFtVal.Hide();
maEdVal1->Hide();
maEdVal2->Hide();
maFtVal->Hide();
break;
case 1:
maEdVal1.Show();
maEdVal2.Hide();
maFtVal.Show();
maEdVal1->Show();
maEdVal2->Hide();
maFtVal->Show();
break;
case 2:
maEdVal1.Show();
maEdVal2.Show();
maFtVal.Show();
maEdVal1->Show();
maEdVal2->Show();
maFtVal->Show();
break;
}
@@ -1120,35 +1197,51 @@ void SetDataBarEntryTypes( const ScColorScaleEntry& rEntry, ListBox& rLbType, Ed
ScDataBarFrmtEntry::ScDataBarFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScDataBarFormat* pFormat ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maLbColorFormat( this, ScResId( LB_COLOR_FORMAT ) ),
maLbDataBarMinType( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ),
maLbDataBarMaxType( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ),
maEdDataBarMin( this, ScResId( ED_COL_SCALE_MIN ) ),
maEdDataBarMax( this, ScResId( ED_COL_SCALE_MAX ) ),
maBtOptions( this, ScResId( BTN_OPTIONS ) )
maLbColorFormat( new ListBox( this, ScResId( LB_COLOR_FORMAT ) ) ),
maLbDataBarMinType( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MIN ) ) ),
maLbDataBarMaxType( new ListBox( this, ScResId( LB_TYPE_COL_SCALE_MAX ) ) ),
maEdDataBarMin( new Edit( this, ScResId( ED_COL_SCALE_MIN ) ) ),
maEdDataBarMax( new Edit( this, ScResId( ED_COL_SCALE_MAX ) ) ),
maBtOptions( new PushButton( this, ScResId( BTN_OPTIONS ) ) )
{
maLbColorFormat.SelectEntryPos(2);
maLbType.SelectEntryPos(0);
maLbColorFormat->SelectEntryPos(2);
maLbType->SelectEntryPos(0);
if(pFormat)
{
mpDataBarData.reset(new ScDataBarFormatData(*pFormat->GetDataBarData()));
SetDataBarEntryTypes(*mpDataBarData->mpLowerLimit, maLbDataBarMinType, maEdDataBarMin, pDoc);
SetDataBarEntryTypes(*mpDataBarData->mpUpperLimit, maLbDataBarMaxType, maEdDataBarMax, pDoc);
SetDataBarEntryTypes(*mpDataBarData->mpLowerLimit, *maLbDataBarMinType.get(), *maEdDataBarMin.get(), pDoc);
SetDataBarEntryTypes(*mpDataBarData->mpUpperLimit, *maLbDataBarMaxType.get(), *maEdDataBarMax.get(), pDoc);
DataBarTypeSelectHdl(NULL);
}
else
{
maLbDataBarMinType.SelectEntryPos(0);
maLbDataBarMaxType.SelectEntryPos(0);
maLbDataBarMinType->SelectEntryPos(0);
maLbDataBarMaxType->SelectEntryPos(0);
DataBarTypeSelectHdl(NULL);
}
Init();
maLbColorFormat.SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
maLbColorFormat->SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
FreeResource();
}
ScDataBarFrmtEntry::~ScDataBarFrmtEntry()
{
dispose();
}
void ScDataBarFrmtEntry::dispose()
{
maLbColorFormat.disposeAndClear();
maLbDataBarMinType.disposeAndClear();
maLbDataBarMaxType.disposeAndClear();
maEdDataBarMin.disposeAndClear();
maEdDataBarMax.disposeAndClear();
maBtOptions.disposeAndClear();
ScCondFrmtEntry::dispose();
}
ScFormatEntry* ScDataBarFrmtEntry::GetEntry() const
{
return createDatabarEntry();
@@ -1156,10 +1249,10 @@ ScFormatEntry* ScDataBarFrmtEntry::GetEntry() const
void ScDataBarFrmtEntry::Init()
{
maLbDataBarMinType.SetSelectHdl( LINK( this, ScDataBarFrmtEntry, DataBarTypeSelectHdl ) );
maLbDataBarMaxType.SetSelectHdl( LINK( this, ScDataBarFrmtEntry, DataBarTypeSelectHdl ) );
maLbDataBarMinType->SetSelectHdl( LINK( this, ScDataBarFrmtEntry, DataBarTypeSelectHdl ) );
maLbDataBarMaxType->SetSelectHdl( LINK( this, ScDataBarFrmtEntry, DataBarTypeSelectHdl ) );
maBtOptions.SetClickHdl( LINK( this, ScDataBarFrmtEntry, OptionBtnHdl ) );
maBtOptions->SetClickHdl( LINK( this, ScDataBarFrmtEntry, OptionBtnHdl ) );
if(!mpDataBarData)
{
@@ -1174,8 +1267,8 @@ void ScDataBarFrmtEntry::Init()
ScFormatEntry* ScDataBarFrmtEntry::createDatabarEntry() const
{
SetColorScaleEntry(mpDataBarData->mpLowerLimit.get(), maLbDataBarMinType, maEdDataBarMin, mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpUpperLimit.get(), maLbDataBarMaxType, maEdDataBarMax, mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpLowerLimit.get(), *maLbDataBarMinType.get(), *maEdDataBarMin.get(), mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpUpperLimit.get(), *maLbDataBarMaxType.get(), *maEdDataBarMax.get(), mpDoc, maPos, true);
ScDataBarFormat* pDataBar = new ScDataBarFormat(mpDoc);
pDataBar->SetDataBarData(new ScDataBarFormatData(*mpDataBarData.get()));
return pDataBar;
@@ -1188,57 +1281,57 @@ OUString ScDataBarFrmtEntry::GetExpressionString()
void ScDataBarFrmtEntry::SetActive()
{
maLbColorFormat.Show();
maLbColorFormat->Show();
maLbDataBarMinType.Show();
maLbDataBarMaxType.Show();
maEdDataBarMin.Show();
maEdDataBarMax.Show();
maBtOptions.Show();
maLbDataBarMinType->Show();
maLbDataBarMaxType->Show();
maEdDataBarMin->Show();
maEdDataBarMax->Show();
maBtOptions->Show();
Select();
}
void ScDataBarFrmtEntry::SetInactive()
{
maLbColorFormat.Hide();
maLbColorFormat->Hide();
maLbDataBarMinType.Hide();
maLbDataBarMaxType.Hide();
maEdDataBarMin.Hide();
maEdDataBarMax.Hide();
maBtOptions.Hide();
maLbDataBarMinType->Hide();
maLbDataBarMaxType->Hide();
maEdDataBarMin->Hide();
maEdDataBarMax->Hide();
maBtOptions->Hide();
Deselect();
}
IMPL_LINK_NOARG( ScDataBarFrmtEntry, DataBarTypeSelectHdl )
{
sal_Int32 nSelectPos = maLbDataBarMinType.GetSelectEntryPos();
sal_Int32 nSelectPos = maLbDataBarMinType->GetSelectEntryPos();
if(nSelectPos <= COLORSCALE_MAX)
maEdDataBarMin.Disable();
maEdDataBarMin->Disable();
else
maEdDataBarMin.Enable();
maEdDataBarMin->Enable();
nSelectPos = maLbDataBarMaxType.GetSelectEntryPos();
nSelectPos = maLbDataBarMaxType->GetSelectEntryPos();
if(nSelectPos <= COLORSCALE_MAX)
maEdDataBarMax.Disable();
maEdDataBarMax->Disable();
else
maEdDataBarMax.Enable();
maEdDataBarMax->Enable();
return 0;
}
IMPL_LINK_NOARG( ScDataBarFrmtEntry, OptionBtnHdl )
{
SetColorScaleEntry(mpDataBarData->mpLowerLimit.get(), maLbDataBarMinType, maEdDataBarMin, mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpUpperLimit.get(), maLbDataBarMaxType, maEdDataBarMax, mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpLowerLimit.get(), *maLbDataBarMinType.get(), *maEdDataBarMin.get(), mpDoc, maPos, true);
SetColorScaleEntry(mpDataBarData->mpUpperLimit.get(), *maLbDataBarMaxType.get(), *maEdDataBarMax.get(), mpDoc, maPos, true);
ScDataBarSettingsDlg* pDlg = new ScDataBarSettingsDlg(this, *mpDataBarData, mpDoc, maPos);
if( pDlg->Execute() == RET_OK)
{
mpDataBarData.reset(pDlg->GetData());
SetDataBarEntryTypes(*mpDataBarData->mpLowerLimit, maLbDataBarMinType, maEdDataBarMin, mpDoc);
SetDataBarEntryTypes(*mpDataBarData->mpUpperLimit, maLbDataBarMaxType, maEdDataBarMax, mpDoc);
SetDataBarEntryTypes(*mpDataBarData->mpLowerLimit, *maLbDataBarMinType, *maEdDataBarMin.get(), mpDoc);
SetDataBarEntryTypes(*mpDataBarData->mpUpperLimit, *maLbDataBarMaxType.get(), *maEdDataBarMax.get(), mpDoc);
DataBarTypeSelectHdl(NULL);
}
return 0;
@@ -1246,10 +1339,10 @@ IMPL_LINK_NOARG( ScDataBarFrmtEntry, OptionBtnHdl )
ScDateFrmtEntry::ScDateFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScCondDateFormatEntry* pFormat ):
ScCondFrmtEntry( pParent, pDoc, ScAddress() ),
maLbDateEntry( this, ScResId( LB_DATE_TYPE ) ),
maFtStyle( this, ScResId( FT_STYLE ) ),
maLbStyle( this, ScResId( LB_STYLE ) ),
maWdPreview( this, ScResId( WD_PREVIEW ) ),
maLbDateEntry( new ListBox( this, ScResId( LB_DATE_TYPE ) ) ),
maFtStyle( new FixedText( this, ScResId( FT_STYLE ) ) ),
maLbStyle( new ListBox( this, ScResId( LB_STYLE ) ) ),
maWdPreview( new SvxFontPrevWindow( this, ScResId( WD_PREVIEW ) ) ),
mbIsInStyleCreate(false)
{
Init();
@@ -1260,41 +1353,55 @@ ScDateFrmtEntry::ScDateFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const
if(pFormat)
{
sal_Int32 nPos = static_cast<sal_Int32>(pFormat->GetDateType());
maLbDateEntry.SelectEntryPos(nPos);
maLbDateEntry->SelectEntryPos(nPos);
OUString aStyleName = pFormat->GetStyleName();
maLbStyle.SelectEntry(aStyleName);
maLbStyle->SelectEntry(aStyleName);
}
StyleSelectHdl(NULL);
}
ScDateFrmtEntry::~ScDateFrmtEntry()
{
dispose();
}
void ScDateFrmtEntry::dispose()
{
maLbDateEntry.disposeAndClear();
maFtStyle.disposeAndClear();
maLbStyle.disposeAndClear();
maWdPreview.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScDateFrmtEntry::Init()
{
maLbDateEntry.SelectEntryPos(0);
maLbType.SelectEntryPos(3);
maLbDateEntry->SelectEntryPos(0);
maLbType->SelectEntryPos(3);
FillStyleListBox( mpDoc, maLbStyle );
maLbStyle.SetSelectHdl( LINK( this, ScDateFrmtEntry, StyleSelectHdl ) );
maLbStyle.SelectEntryPos(1);
FillStyleListBox( mpDoc, *maLbStyle.get() );
maLbStyle->SetSelectHdl( LINK( this, ScDateFrmtEntry, StyleSelectHdl ) );
maLbStyle->SelectEntryPos(1);
}
void ScDateFrmtEntry::SetActive()
{
maLbDateEntry.Show();
maFtStyle.Show();
maWdPreview.Show();
maLbStyle.Show();
maLbDateEntry->Show();
maFtStyle->Show();
maWdPreview->Show();
maLbStyle->Show();
Select();
}
void ScDateFrmtEntry::SetInactive()
{
maLbDateEntry.Hide();
maFtStyle.Hide();
maWdPreview.Hide();
maLbStyle.Hide();
maLbDateEntry->Hide();
maFtStyle->Hide();
maWdPreview->Hide();
maLbStyle->Hide();
Deselect();
}
@@ -1309,16 +1416,16 @@ void ScDateFrmtEntry::Notify( SfxBroadcaster&, const SfxHint& rHint )
if(nHint == SFX_STYLESHEET_MODIFIED)
{
if(!mbIsInStyleCreate)
UpdateStyleList(maLbStyle, mpDoc);
UpdateStyleList(*maLbStyle.get(), mpDoc);
}
}
ScFormatEntry* ScDateFrmtEntry::GetEntry() const
{
ScCondDateFormatEntry* pNewEntry = new ScCondDateFormatEntry(mpDoc);
condformat::ScCondFormatDateType eType = static_cast<condformat::ScCondFormatDateType>(maLbDateEntry.GetSelectEntryPos());
condformat::ScCondFormatDateType eType = static_cast<condformat::ScCondFormatDateType>(maLbDateEntry->GetSelectEntryPos());
pNewEntry->SetDateType(eType);
pNewEntry->SetStyleName(maLbStyle.GetSelectEntry());
pNewEntry->SetStyleName(maLbStyle->GetSelectEntry());
return pNewEntry;
}
@@ -1330,7 +1437,7 @@ OUString ScDateFrmtEntry::GetExpressionString()
IMPL_LINK_NOARG( ScDateFrmtEntry, StyleSelectHdl )
{
mbIsInStyleCreate = true;
StyleSelect( maLbStyle, mpDoc, maWdPreview );
StyleSelect( *maLbStyle.get(), mpDoc, *maWdPreview.get() );
mbIsInStyleCreate = false;
return 0;
@@ -1339,14 +1446,16 @@ IMPL_LINK_NOARG( ScDateFrmtEntry, StyleSelectHdl )
class ScIconSetFrmtDataEntry : public Control
{
private:
FixedImage maImgIcon;
FixedText maFtEntry;
Edit maEdEntry;
ListBox maLbEntryType;
VclPtr<FixedImage> maImgIcon;
VclPtr<FixedText> maFtEntry;
VclPtr<Edit> maEdEntry;
VclPtr<ListBox> maLbEntryType;
public:
ScIconSetFrmtDataEntry( vcl::Window* pParent, ScIconSetType eType, ScDocument* pDoc,
sal_Int32 i, const ScColorScaleEntry* pEntry = NULL );
virtual ~ScIconSetFrmtDataEntry();
virtual void dispose() SAL_OVERRIDE;
ScColorScaleEntry* CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const;
@@ -1355,31 +1464,31 @@ class ScIconSetFrmtDataEntry : public Control
ScIconSetFrmtDataEntry::ScIconSetFrmtDataEntry( vcl::Window* pParent, ScIconSetType eType, ScDocument* pDoc, sal_Int32 i, const ScColorScaleEntry* pEntry ):
Control( pParent, ScResId( RID_ICON_SET_ENTRY ) ),
maImgIcon( this, ScResId( IMG_ICON ) ),
maFtEntry( this, ScResId( FT_ICON_SET_ENTRY_TEXT ) ),
maEdEntry( this, ScResId( ED_ICON_SET_ENTRY_VALUE ) ),
maLbEntryType( this, ScResId( LB_ICON_SET_ENTRY_TYPE ) )
maImgIcon( new FixedImage( this, ScResId( IMG_ICON ) ) ),
maFtEntry( new FixedText( this, ScResId( FT_ICON_SET_ENTRY_TEXT ) ) ),
maEdEntry( new Edit( this, ScResId( ED_ICON_SET_ENTRY_VALUE ) ) ),
maLbEntryType( new ListBox( this, ScResId( LB_ICON_SET_ENTRY_TYPE ) ) )
{
maImgIcon.SetImage(Image(ScIconSetFormat::getBitmap(eType, i)));
maImgIcon->SetImage(Image(ScIconSetFormat::getBitmap(eType, i)));
if(pEntry)
{
switch(pEntry->GetType())
{
case COLORSCALE_VALUE:
maLbEntryType.SelectEntryPos(0);
maEdEntry.SetText(convertNumberToString(pEntry->GetValue(), pDoc));
maLbEntryType->SelectEntryPos(0);
maEdEntry->SetText(convertNumberToString(pEntry->GetValue(), pDoc));
break;
case COLORSCALE_PERCENTILE:
maLbEntryType.SelectEntryPos(2);
maEdEntry.SetText(convertNumberToString(pEntry->GetValue(), pDoc));
maLbEntryType->SelectEntryPos(2);
maEdEntry->SetText(convertNumberToString(pEntry->GetValue(), pDoc));
break;
case COLORSCALE_PERCENT:
maLbEntryType.SelectEntryPos(1);
maEdEntry.SetText(convertNumberToString(pEntry->GetValue(), pDoc));
maLbEntryType->SelectEntryPos(1);
maEdEntry->SetText(convertNumberToString(pEntry->GetValue(), pDoc));
break;
case COLORSCALE_FORMULA:
maLbEntryType.SelectEntryPos(3);
maEdEntry.SetText(pEntry->GetFormula(formula::FormulaGrammar::GRAM_DEFAULT));
maLbEntryType->SelectEntryPos(3);
maEdEntry->SetText(pEntry->GetFormula(formula::FormulaGrammar::GRAM_DEFAULT));
break;
default:
assert(false);
@@ -1387,15 +1496,29 @@ ScIconSetFrmtDataEntry::ScIconSetFrmtDataEntry( vcl::Window* pParent, ScIconSetT
}
else
{
maLbEntryType.SelectEntryPos(1);
maLbEntryType->SelectEntryPos(1);
}
FreeResource();
}
ScIconSetFrmtDataEntry::~ScIconSetFrmtDataEntry()
{
dispose();
}
void ScIconSetFrmtDataEntry::dispose()
{
maImgIcon.disposeAndClear();
maFtEntry.disposeAndClear();
maEdEntry.disposeAndClear();
maLbEntryType.disposeAndClear();
Control::dispose();
}
ScColorScaleEntry* ScIconSetFrmtDataEntry::CreateEntry(ScDocument* pDoc, const ScAddress& rPos) const
{
sal_Int32 nPos = maLbEntryType.GetSelectEntryPos();
OUString aText = maEdEntry.GetText();
sal_Int32 nPos = maLbEntryType->GetSelectEntryPos();
OUString aText = maEdEntry->GetText();
ScColorScaleEntry* pEntry = new ScColorScaleEntry();
sal_uInt32 nIndex = 0;
@@ -1428,28 +1551,28 @@ ScColorScaleEntry* ScIconSetFrmtDataEntry::CreateEntry(ScDocument* pDoc, const S
void ScIconSetFrmtDataEntry::SetFirstEntry()
{
maEdEntry.Hide();
maLbEntryType.Hide();
maFtEntry.Hide();
maEdEntry.SetText(OUString("0"));
maLbEntryType.SelectEntryPos(1);
maEdEntry->Hide();
maLbEntryType->Hide();
maFtEntry->Hide();
maEdEntry->SetText(OUString("0"));
maLbEntryType->SelectEntryPos(1);
}
ScIconSetFrmtEntry::ScIconSetFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScIconSetFormat* pFormat ):
ScCondFrmtEntry( pParent, pDoc, rPos ),
maLbColorFormat( this, ScResId( LB_COLOR_FORMAT ) ),
maLbIconSetType( this, ScResId( LB_ICONSET_TYPE ) )
maLbColorFormat( new ListBox( this, ScResId( LB_COLOR_FORMAT ) ) ),
maLbIconSetType( new ListBox( this, ScResId( LB_ICONSET_TYPE ) ) )
{
Init();
FreeResource();
maLbColorFormat.SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
maLbColorFormat->SetSelectHdl( LINK( pParent, ScCondFormatList, ColFormatTypeHdl ) );
if(pFormat)
{
const ScIconSetFormatData* pIconSetFormatData = pFormat->GetIconSetData();
ScIconSetType eType = pIconSetFormatData->eIconSetType;
sal_Int32 nType = static_cast<sal_Int32>(eType);
maLbIconSetType.SelectEntryPos(nType);
maLbIconSetType->SelectEntryPos(nType);
for(size_t i = 0, n = pIconSetFormatData->maEntries.size();
i < n; ++i)
@@ -1465,20 +1588,32 @@ ScIconSetFrmtEntry::ScIconSetFrmtEntry( vcl::Window* pParent, ScDocument* pDoc,
IconSetTypeHdl(NULL);
}
ScIconSetFrmtEntry::~ScIconSetFrmtEntry()
{
dispose();
}
void ScIconSetFrmtEntry::dispose()
{
maLbColorFormat.disposeAndClear();
maLbIconSetType.disposeAndClear();
ScCondFrmtEntry::dispose();
}
void ScIconSetFrmtEntry::Init()
{
maLbColorFormat.SelectEntryPos(3);
maLbType.SelectEntryPos(0);
maLbIconSetType.SelectEntryPos(0);
maLbColorFormat->SelectEntryPos(3);
maLbType->SelectEntryPos(0);
maLbIconSetType->SelectEntryPos(0);
maLbIconSetType.SetSelectHdl( LINK( this, ScIconSetFrmtEntry, IconSetTypeHdl ) );
maLbIconSetType->SetSelectHdl( LINK( this, ScIconSetFrmtEntry, IconSetTypeHdl ) );
}
IMPL_LINK_NOARG( ScIconSetFrmtEntry, IconSetTypeHdl )
{
ScIconSetMap* pMap = ScIconSetFormat::getIconSetMap();
sal_Int32 nPos = maLbIconSetType.GetSelectEntryPos();
sal_Int32 nPos = maLbIconSetType->GetSelectEntryPos();
sal_uInt32 nElements = pMap[nPos].nElements;
maEntries.clear();
@@ -1505,8 +1640,8 @@ OUString ScIconSetFrmtEntry::GetExpressionString()
void ScIconSetFrmtEntry::SetActive()
{
maLbColorFormat.Show();
maLbIconSetType.Show();
maLbColorFormat->Show();
maLbIconSetType->Show();
for(ScIconSetFrmtDataEntriesType::iterator itr = maEntries.begin(),
itrEnd = maEntries.end(); itr != itrEnd; ++itr)
{
@@ -1518,8 +1653,8 @@ void ScIconSetFrmtEntry::SetActive()
void ScIconSetFrmtEntry::SetInactive()
{
maLbColorFormat.Hide();
maLbIconSetType.Hide();
maLbColorFormat->Hide();
maLbIconSetType->Hide();
for(ScIconSetFrmtDataEntriesType::iterator itr = maEntries.begin(),
itrEnd = maEntries.end(); itr != itrEnd; ++itr)
{
@@ -1534,7 +1669,7 @@ ScFormatEntry* ScIconSetFrmtEntry::GetEntry() const
ScIconSetFormat* pFormat = new ScIconSetFormat(mpDoc);
ScIconSetFormatData* pData = new ScIconSetFormatData;
pData->eIconSetType = static_cast<ScIconSetType>(maLbIconSetType.GetSelectEntryPos());
pData->eIconSetType = static_cast<ScIconSetType>(maLbIconSetType->GetSelectEntryPos());
for(ScIconSetFrmtDataEntriesType::const_iterator itr = maEntries.begin(),
itrEnd = maEntries.end(); itr != itrEnd; ++itr)
{
diff --git a/sc/source/ui/condformat/condformatmgr.cxx b/sc/source/ui/condformat/condformatmgr.cxx
index 2a6ff24..bbdba3b 100644
--- a/sc/source/ui/condformat/condformatmgr.cxx
+++ b/sc/source/ui/condformat/condformatmgr.cxx
@@ -133,8 +133,14 @@ ScCondFormatManagerDlg::ScCondFormatManagerDlg(vcl::Window* pParent, ScDocument*
ScCondFormatManagerDlg::~ScCondFormatManagerDlg()
{
dispose();
}
void ScCondFormatManagerDlg::dispose()
{
delete m_pCtrlManager;
delete mpFormatList;
ModalDialog::dispose();
}
diff --git a/sc/source/ui/dbgui/consdlg.cxx b/sc/source/ui/dbgui/consdlg.cxx
index a8b6c73..835dada 100644
--- a/sc/source/ui/dbgui/consdlg.cxx
+++ b/sc/source/ui/dbgui/consdlg.cxx
@@ -105,8 +105,14 @@ ScConsolidateDlg::ScConsolidateDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::W
ScConsolidateDlg::~ScConsolidateDlg()
{
dispose();
}
void ScConsolidateDlg::dispose()
{
delete [] pAreaData;
delete pRangeUtil;
ScAnyRefDlg::dispose();
}
void ScConsolidateDlg::Init()
diff --git a/sc/source/ui/dbgui/csvcontrol.cxx b/sc/source/ui/dbgui/csvcontrol.cxx
index ac0b16c..4985577 100644
--- a/sc/source/ui/dbgui/csvcontrol.cxx
+++ b/sc/source/ui/dbgui/csvcontrol.cxx
@@ -74,8 +74,14 @@ ScCsvControl::ScCsvControl( vcl::Window* pParent, const ScCsvLayoutData& rData,
ScCsvControl::~ScCsvControl()
{
dispose();
}
void ScCsvControl::dispose()
{
if( mpAccessible )
mpAccessible->dispose();
Control::dispose();
}
// event handling -------------------------------------------------------------
diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx
index f99a609..03ad25d 100644
--- a/sc/source/ui/dbgui/csvgrid.cxx
+++ b/sc/source/ui/dbgui/csvgrid.cxx
@@ -85,9 +85,15 @@ ScCsvGrid::ScCsvGrid( ScCsvControl& rParent ) :
ScCsvGrid::~ScCsvGrid()
{
dispose();
}
void ScCsvGrid::dispose()
{
OSL_ENSURE(mpColorConfig, "the object hasn't been initialized properly");
if (mpColorConfig)
mpColorConfig->RemoveListener(this);
ScCsvControl::dispose();
}
void
diff --git a/sc/source/ui/dbgui/csvruler.cxx b/sc/source/ui/dbgui/csvruler.cxx
index 71a1ce4..1d2187f 100644
--- a/sc/source/ui/dbgui/csvruler.cxx
+++ b/sc/source/ui/dbgui/csvruler.cxx
@@ -101,7 +101,13 @@ ScCsvRuler::ScCsvRuler( ScCsvControl& rParent ) :
ScCsvRuler::~ScCsvRuler()
{
dispose();
}
void ScCsvRuler::dispose()
{
save_FixedWidthList( maSplits );
ScCsvControl::dispose();
}
// common ruler handling ------------------------------------------------------
diff --git a/sc/source/ui/dbgui/csvtablebox.cxx b/sc/source/ui/dbgui/csvtablebox.cxx
index 424bcc0..c44b331 100644
--- a/sc/source/ui/dbgui/csvtablebox.cxx
+++ b/sc/source/ui/dbgui/csvtablebox.cxx
@@ -25,35 +25,50 @@
ScCsvTableBox::ScCsvTableBox( vcl::Window* pParent, WinBits nBits ) :
ScCsvControl( pParent, maData, nBits ),
maRuler( *this ),
maGrid( *this ),
maHScroll( this, WB_HORZ | WB_DRAG ),
maVScroll( this, WB_VERT | WB_DRAG ),
maScrollBox( this )
maRuler( new ScCsvRuler(*this) ),
maGrid( new ScCsvGrid(*this) ),
maHScroll( new ScrollBar( this, WB_HORZ | WB_DRAG ) ),
maVScroll( new ScrollBar( this, WB_VERT | WB_DRAG ) ),
maScrollBox( new ScrollBarBox(this) )
{
mbFixedMode = false;
mnFixedWidth = 1;
maHScroll.EnableRTL( false ); // RTL
maHScroll.SetLineSize( 1 );
maVScroll.SetLineSize( 1 );
maHScroll->EnableRTL( false ); // RTL
maHScroll->SetLineSize( 1 );
maVScroll->SetLineSize( 1 );
Link aLink = LINK( this, ScCsvTableBox, CsvCmdHdl );
SetCmdHdl( aLink );
maRuler.SetCmdHdl( aLink );
maGrid.SetCmdHdl( aLink );
maRuler->SetCmdHdl( aLink );
maGrid->SetCmdHdl( aLink );
aLink = LINK( this, ScCsvTableBox, ScrollHdl );
maHScroll.SetScrollHdl( aLink );
maVScroll.SetScrollHdl( aLink );
maHScroll->SetScrollHdl( aLink );
maVScroll->SetScrollHdl( aLink );
aLink = LINK( this, ScCsvTableBox, ScrollEndHdl );
maHScroll.SetEndScrollHdl( aLink );
maVScroll.SetEndScrollHdl( aLink );
maHScroll->SetEndScrollHdl( aLink );
maVScroll->SetEndScrollHdl( aLink );
InitControls();
}
ScCsvTableBox::~ScCsvTableBox()
{
dispose();
}
void ScCsvTableBox::dispose()
{
maRuler.disposeAndClear();
maGrid.disposeAndClear();
maHScroll.disposeAndClear();
maVScroll.disposeAndClear();
maScrollBox.disposeAndClear();
ScCsvControl::dispose();
}
extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeScCsvTableBox(vcl::Window *pParent, VclBuilder::stringmap &)
{
return new ScCsvTableBox(pParent, WB_BORDER);
@@ -73,7 +88,7 @@ void ScCsvTableBox::SetSeparatorsMode()
{
// rescue data for fixed width mode
mnFixedWidth = GetPosCount();
maFixColStates = maGrid.GetColumnStates();
maFixColStates = maGrid->GetColumnStates();
// switch to separators mode
mbFixedMode = false;
// reset and reinitialize controls
@@ -81,7 +96,7 @@ void ScCsvTableBox::SetSeparatorsMode()
Execute( CSVCMD_SETLINEOFFSET, 0 );
Execute( CSVCMD_SETPOSCOUNT, 1 );
Execute( CSVCMD_NEWCELLTEXTS );
maGrid.SetColumnStates( maSepColStates );
maGrid->SetColumnStates( maSepColStates );
InitControls();
EnableRepaint();
}
@@ -92,15 +107,15 @@ void ScCsvTableBox::SetFixedWidthMode()
if( !mbFixedMode )
{
// rescue data for separators mode
maSepColStates = maGrid.GetColumnStates();
maSepColStates = maGrid->GetColumnStates();
// switch to fixed width mode
mbFixedMode = true;
// reset and reinitialize controls
DisableRepaint();
Execute( CSVCMD_SETLINEOFFSET, 0 );
Execute( CSVCMD_SETPOSCOUNT, mnFixedWidth );
maGrid.SetSplits( maRuler.GetSplits() );
maGrid.SetColumnStates( maFixColStates );
maGrid->SetSplits( maRuler->GetSplits() );
maGrid->SetColumnStates( maFixColStates );
InitControls();
EnableRepaint();
}
@@ -108,12 +123,12 @@ void ScCsvTableBox::SetFixedWidthMode()
void ScCsvTableBox::Init()
{
maGrid.Init();
maGrid->Init();
}
void ScCsvTableBox::InitControls()
{
maGrid.UpdateLayoutData();
maGrid->UpdateLayoutData();
long nScrollBarSize = GetSettings().GetStyleSettings().GetScrollBarSize();
Size aWinSize = CalcOutputSize( GetSizePixel() );
@@ -126,30 +141,30 @@ void ScCsvTableBox::InitControls()
if( mbFixedMode )
{
// ruler sets height internally
maRuler.setPosSizePixel( 0, 0, nDataWidth, 0 );
sal_Int32 nY = maRuler.GetSizePixel().Height();
maRuler->setPosSizePixel( 0, 0, nDataWidth, 0 );
sal_Int32 nY = maRuler->GetSizePixel().Height();
maData.mnWinHeight -= nY;
maGrid.setPosSizePixel( 0, nY, nDataWidth, maData.mnWinHeight );
maGrid->setPosSizePixel( 0, nY, nDataWidth, maData.mnWinHeight );
}
else
maGrid.setPosSizePixel( 0, 0, nDataWidth, nDataHeight );
maGrid.Show();
maRuler.Show( mbFixedMode );
maGrid->setPosSizePixel( 0, 0, nDataWidth, nDataHeight );
maGrid->Show();
maRuler->Show( mbFixedMode );
// scrollbars always visible
maHScroll.setPosSizePixel( 0, nDataHeight, nDataWidth, nScrollBarSize );
maHScroll->setPosSizePixel( 0, nDataHeight, nDataWidth, nScrollBarSize );
InitHScrollBar();
maHScroll.Show();
maHScroll->Show();
// scrollbars always visible
maVScroll.setPosSizePixel( nDataWidth, 0, nScrollBarSize, nDataHeight );
maVScroll->setPosSizePixel( nDataWidth, 0, nScrollBarSize, nDataHeight );
InitVScrollBar();
maVScroll.Show();
maVScroll->Show();
bool bScrBox = maHScroll.IsVisible() && maVScroll.IsVisible();
bool bScrBox = maHScroll->IsVisible() && maVScroll->IsVisible();
if( bScrBox )
maScrollBox.setPosSizePixel( nDataWidth, nDataHeight, nScrollBarSize, nScrollBarSize );
maScrollBox.Show( bScrBox );
maScrollBox->setPosSizePixel( nDataWidth, nDataHeight, nScrollBarSize, nScrollBarSize );
maScrollBox->Show( bScrBox );
// let the controls self-adjust to visible area
Execute( CSVCMD_SETPOSOFFSET, GetFirstVisPos() );
@@ -158,18 +173,18 @@ void ScCsvTableBox::InitControls()
void ScCsvTableBox::InitHScrollBar()
{
maHScroll.SetRange( Range( 0, GetPosCount() + 2 ) );
maHScroll.SetVisibleSize( GetVisPosCount() );
maHScroll.SetPageSize( GetVisPosCount() * 3 / 4 );
maHScroll.SetThumbPos( GetFirstVisPos() );
maHScroll->SetRange( Range( 0, GetPosCount() + 2 ) );
maHScroll->SetVisibleSize( GetVisPosCount() );
maHScroll->SetPageSize( GetVisPosCount() * 3 / 4 );
maHScroll->SetThumbPos( GetFirstVisPos() );
}
void ScCsvTableBox::InitVScrollBar()
{
maVScroll.SetRange( Range( 0, GetLineCount() + 1 ) );
maVScroll.SetVisibleSize( GetVisLineCount() );
maVScroll.SetPageSize( GetVisLineCount() - 2 );
maVScroll.SetThumbPos( GetFirstVisLine() );
maVScroll->SetRange( Range( 0, GetLineCount() + 1 ) );
maVScroll->SetVisibleSize( GetVisLineCount() );
maVScroll->SetPageSize( GetVisLineCount() - 2 );
maVScroll->SetThumbPos( GetFirstVisLine() );
}
void ScCsvTableBox::MakePosVisible( sal_Int32 nPos )
@@ -197,9 +212,9 @@ void ScCsvTableBox::SetUniStrings(
for( sal_Int32 nLine = GetFirstVisLine(); nLine < nEndLine; ++nLine, ++pString )
{
if( mbFixedMode )
maGrid.ImplSetTextLineFix( nLine, *pString );
maGrid->ImplSetTextLineFix( nLine, *pString );
else
maGrid.ImplSetTextLineSep( nLine, *pString, rSepChars, cTextSep, bMergeSep );
maGrid->ImplSetTextLineSep( nLine, *pString, rSepChars, cTextSep, bMergeSep );
}
EnableRepaint();
}
@@ -212,15 +227,15 @@ void ScCsvTableBox::InitTypes( const ListBox& rListBox )
StringVec aTypeNames( nTypeCount );
for( sal_uInt16 nIndex = 0; nIndex < nTypeCount; ++nIndex )
aTypeNames[ nIndex ] = rListBox.GetEntry( nIndex );
maGrid.SetTypeNames( aTypeNames );
maGrid->SetTypeNames( aTypeNames );
}
void ScCsvTableBox::FillColumnData( ScAsciiOptions& rOptions ) const
{
if( mbFixedMode )
maGrid.FillColumnDataFix( rOptions );
maGrid->FillColumnDataFix( rOptions );
else
maGrid.FillColumnDataSep( rOptions );
maGrid->FillColumnDataSep( rOptions );
}
// event handling -------------------------------------------------------------
@@ -253,8 +268,8 @@ IMPL_LINK( ScCsvTableBox, CsvCmdHdl, ScCsvControl*, pCtrl )
case CSVCMD_REPAINT:
if( !IsNoRepaint() )
{
maGrid.ImplRedraw();
maRuler.ImplRedraw();
maGrid->ImplRedraw();
maRuler->ImplRedraw();
InitHScrollBar();
InitVScrollBar();
}
@@ -269,12 +284,12 @@ IMPL_LINK( ScCsvTableBox, CsvCmdHdl, ScCsvControl*, pCtrl )
else
{
DisableRepaint();
ScCsvColStateVec aStates( maGrid.GetColumnStates() );
ScCsvColStateVec aStates( maGrid->GetColumnStates() );
sal_Int32 nPos = GetFirstVisPos();
Execute( CSVCMD_SETPOSCOUNT, 1 );
Execute( CSVCMD_UPDATECELLTEXTS );
Execute( CSVCMD_SETPOSOFFSET, nPos );
maGrid.SetColumnStates( aStates );
maGrid->SetColumnStates( aStates );
EnableRepaint();
}
break;
@@ -282,40 +297,40 @@ IMPL_LINK( ScCsvTableBox, CsvCmdHdl, ScCsvControl*, pCtrl )
maUpdateTextHdl.Call( this );
break;
case CSVCMD_SETCOLUMNTYPE:
maGrid.SetSelColumnType( nParam1 );
maGrid->SetSelColumnType( nParam1 );
break;
case CSVCMD_EXPORTCOLUMNTYPE:
maColTypeHdl.Call( this );
break;
case CSVCMD_SETFIRSTIMPORTLINE:
maGrid.SetFirstImportedLine( nParam1 );
maGrid->SetFirstImportedLine( nParam1 );
break;
case CSVCMD_INSERTSPLIT:
OSL_ENSURE( mbFixedMode, "ScCsvTableBox::CsvCmdHdl::InsertSplit - invalid call" );
if( maRuler.GetSplitCount() + 1 < sal::static_int_cast<sal_uInt32>(CSV_MAXCOLCOUNT) )
if( maRuler->GetSplitCount() + 1 < sal::static_int_cast<sal_uInt32>(CSV_MAXCOLCOUNT) )
{
maRuler.InsertSplit( nParam1 );
maGrid.InsertSplit( nParam1 );
maRuler->InsertSplit( nParam1 );
maGrid->InsertSplit( nParam1 );
}
break;
case CSVCMD_REMOVESPLIT:
OSL_ENSURE( mbFixedMode, "ScCsvTableBox::CsvCmdHdl::RemoveSplit - invalid call" );
maRuler.RemoveSplit( nParam1 );
maGrid.RemoveSplit( nParam1 );
maRuler->RemoveSplit( nParam1 );
maGrid->RemoveSplit( nParam1 );
break;
case CSVCMD_TOGGLESPLIT:
Execute( maRuler.HasSplit( nParam1 ) ? CSVCMD_REMOVESPLIT : CSVCMD_INSERTSPLIT, nParam1 );
Execute( maRuler->HasSplit( nParam1 ) ? CSVCMD_REMOVESPLIT : CSVCMD_INSERTSPLIT, nParam1 );
break;
case CSVCMD_MOVESPLIT:
OSL_ENSURE( mbFixedMode, "ScCsvTableBox::CsvCmdHdl::MoveSplit - invalid call" );
maRuler.MoveSplit( nParam1, nParam2 );
maGrid.MoveSplit( nParam1, nParam2 );
maRuler->MoveSplit( nParam1, nParam2 );
maGrid->MoveSplit( nParam1, nParam2 );
break;
case CSVCMD_REMOVEALLSPLITS:
OSL_ENSURE( mbFixedMode, "ScCsvTableBox::CsvCmdHdl::RemoveAllSplits - invalid call" );
maRuler.RemoveAllSplits();
maGrid.RemoveAllSplits();
maRuler->RemoveAllSplits();
maGrid->RemoveAllSplits();
break;
default:
bFound = false;
@@ -371,8 +386,8 @@ IMPL_LINK( ScCsvTableBox, CsvCmdHdl, ScCsvControl*, pCtrl )
if( maData != aOldData )
{
DisableRepaint();
maRuler.ApplyLayout( aOldData );
maGrid.ApplyLayout( aOldData );
maRuler->ApplyLayout( aOldData );
maGrid->ApplyLayout( aOldData );
EnableRepaint();
}
@@ -383,9 +398,9 @@ IMPL_LINK( ScCsvTableBox, ScrollHdl, ScrollBar*, pScrollBar )
{
OSL_ENSURE( pScrollBar, "ScCsvTableBox::ScrollHdl - missing sender" );
if( pScrollBar == &maHScroll )
if( pScrollBar == maHScroll.get() )
Execute( CSVCMD_SETPOSOFFSET, pScrollBar->GetThumbPos() );
else if( pScrollBar == &maVScroll )
else if( pScrollBar == maVScroll.get() )
Execute( CSVCMD_SETLINEOFFSET, pScrollBar->GetThumbPos() );
return 0;
@@ -395,12 +410,12 @@ IMPL_LINK( ScCsvTableBox, ScrollEndHdl, ScrollBar*, pScrollBar )
{
OSL_ENSURE( pScrollBar, "ScCsvTableBox::ScrollEndHdl - missing sender" );
if( pScrollBar == &maHScroll )
if( pScrollBar == maHScroll.get() )
{
if( GetRulerCursorPos() != CSV_POS_INVALID )
Execute( CSVCMD_MOVERULERCURSOR, maRuler.GetNoScrollPos( GetRulerCursorPos() ) );
Execute( CSVCMD_MOVERULERCURSOR, maRuler->GetNoScrollPos( GetRulerCursorPos() ) );
if( GetGridCursorPos() != CSV_POS_INVALID )
Execute( CSVCMD_MOVEGRIDCURSOR, maGrid.GetNoScrollCol( GetGridCursorPos() ) );
Execute( CSVCMD_MOVEGRIDCURSOR, maGrid->GetNoScrollCol( GetGridCursorPos() ) );
}
return 0;
diff --git a/sc/source/ui/dbgui/dbnamdlg.cxx b/sc/source/ui/dbgui/dbnamdlg.cxx
index fef3575..8313dfa 100644
--- a/sc/source/ui/dbgui/dbnamdlg.cxx
+++ b/sc/source/ui/dbgui/dbnamdlg.cxx
@@ -158,7 +158,13 @@ ScDbNameDlg::ScDbNameDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pPar
ScDbNameDlg::~ScDbNameDlg()
{
dispose();
}
void ScDbNameDlg::dispose()
{
DELETEZ( pSaveObj );
ScAnyRefDlg::dispose();
}
void ScDbNameDlg::Init()
diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx
index 5de6d53..40375c8 100644
--- a/sc/source/ui/dbgui/filtdlg.cxx
+++ b/sc/source/ui/dbgui/filtdlg.cxx
@@ -160,12 +160,18 @@ ScFilterDlg::ScFilterDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pPar
ScFilterDlg::~ScFilterDlg()
{
dispose();
}
void ScFilterDlg::dispose()
{
delete pOptionsMgr;
delete pOutItem;
// Hack: RefInput control
pTimer->Stop();
delete pTimer;
ScAnyRefDlg::dispose();
}
void ScFilterDlg::Init( const SfxItemSet& rArgSet )
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index 096c9c2..6c566bc 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -83,10 +83,16 @@ ScPivotFilterDlg::ScPivotFilterDlg(vcl::Window* pParent, const SfxItemSet& rArgS
ScPivotFilterDlg::~ScPivotFilterDlg()
{
dispose();
}
void ScPivotFilterDlg::dispose()
{
for (sal_uInt16 i=0; i<=MAXCOL; i++)
delete pEntryLists[i];
delete pOutItem;
ModalDialog::dispose();
}
void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx b/sc/source/ui/dbgui/scuiasciiopt.cxx
index a3b7387..2abde83 100644
--- a/sc/source/ui/dbgui/scuiasciiopt.cxx
+++ b/sc/source/ui/dbgui/scuiasciiopt.cxx
@@ -464,7 +464,13 @@ ScImportAsciiDlg::ScImportAsciiDlg( vcl::Window* pParent, const OUString& aDatNa
ScImportAsciiDlg::~ScImportAsciiDlg()
{
dispose();
}
void ScImportAsciiDlg::dispose()
{
delete[] mpRowPosArray;
ModalDialog::dispose();
}
bool ScImportAsciiDlg::GetLine( sal_uLong nLine, OUString &rText )
diff --git a/sc/source/ui/dbgui/scuiimoptdlg.cxx b/sc/source/ui/dbgui/scuiimoptdlg.cxx
index 98ee9d9..1cbb424 100644
--- a/sc/source/ui/dbgui/scuiimoptdlg.cxx
+++ b/sc/source/ui/dbgui/scuiimoptdlg.cxx
@@ -240,8 +240,14 @@ ScImportOptionsDlg::ScImportOptionsDlg(
ScImportOptionsDlg::~ScImportOptionsDlg()
{
dispose();
}
void ScImportOptionsDlg::dispose()
{
delete pFieldSepTab;
delete pTextSepTab;
ModalDialog::dispose();
}
void ScImportOptionsDlg::GetImportOptions( ScImportOptions& rOptions ) const
diff --git a/sc/source/ui/dbgui/sfiltdlg.cxx b/sc/source/ui/dbgui/sfiltdlg.cxx
index 380278b..c872bb8 100644
--- a/sc/source/ui/dbgui/sfiltdlg.cxx
+++ b/sc/source/ui/dbgui/sfiltdlg.cxx
@@ -97,6 +97,11 @@ ScSpecialFilterDlg::ScSpecialFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, vc
ScSpecialFilterDlg::~ScSpecialFilterDlg()
{
dispose();
}
void ScSpecialFilterDlg::dispose()
{
sal_uInt16 nEntries = pLbFilterArea->GetEntryCount();
sal_uInt16 i;
@@ -111,6 +116,7 @@ ScSpecialFilterDlg::~ScSpecialFilterDlg()
// Hack: RefInput-Kontrolle
pIdle->Stop();
delete pIdle;
ScAnyRefDlg::dispose();
}
void ScSpecialFilterDlg::Init( const SfxItemSet& rArgSet )
diff --git a/sc/source/ui/dbgui/tpsort.cxx b/sc/source/ui/dbgui/tpsort.cxx
index 9dbc066..8083c0e 100644
--- a/sc/source/ui/dbgui/tpsort.cxx
+++ b/sc/source/ui/dbgui/tpsort.cxx
@@ -516,6 +516,11 @@ ScTabPageSortOptions::ScTabPageSortOptions( vcl::Window* pParent,
ScTabPageSortOptions::~ScTabPageSortOptions()
{
dispose();
}
void ScTabPageSortOptions::dispose()
{
sal_uInt16 nEntries = m_pLbOutPos->GetEntryCount();
for ( sal_uInt16 i=1; i<nEntries; i++ )
@@ -523,6 +528,7 @@ ScTabPageSortOptions::~ScTabPageSortOptions()
delete pColRes;
delete pColWrap; //! not if from document
SfxTabPage::dispose();
}
void ScTabPageSortOptions::Init()
diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index 12643fc..a8b4c14e 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -67,6 +67,11 @@ ScTpSubTotalGroup::ScTpSubTotalGroup( vcl::Window* pParent,
ScTpSubTotalGroup::~ScTpSubTotalGroup()
{
dispose();
}
void ScTpSubTotalGroup::dispose()
{
sal_uLong nCount = mpLbColumns->GetEntryCount();
if ( nCount > 0 )
@@ -79,6 +84,7 @@ ScTpSubTotalGroup::~ScTpSubTotalGroup()
delete pData;
}
}
SfxTabPage::dispose();
}
void ScTpSubTotalGroup::Init()
diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index f9384ac..b5be34b 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -41,7 +41,13 @@ SearchResultsDlg::SearchResultsDlg( SfxBindings* _pBindings, vcl::Window* pParen
SearchResultsDlg::~SearchResultsDlg()
{
dispose();
}
void SearchResultsDlg::dispose()
{
delete mpList;
ModelessDialog::dispose();
}
void SearchResultsDlg::FillResults( ScDocument* pDoc, const ScRangeList &rMatchedRanges )
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx
index 65604ad..aac3e3c 100644
--- a/sc/source/ui/formdlg/dwfunctr.cxx
+++ b/sc/source/ui/formdlg/dwfunctr.cxx
@@ -90,12 +90,12 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
SfxChildWindow *pCW, vcl::Window* pParent, const ResId& rResId ) :
SfxDockingWindow( pBindingsP, pCW, pParent, rResId ),
aPrivatSplit ( this, ResId( FT_SPLIT, *rResId.GetResMgr() ),SC_SPLIT_VERT),
aCatBox ( this, ResId( CB_CAT, *rResId.GetResMgr() ) ),
aFuncList ( this, ResId( LB_FUNC, *rResId.GetResMgr() ) ),
aDDFuncList ( this, ResId( DDLB_FUNC, *rResId.GetResMgr() ) ),
aInsertButton ( this, ResId( IMB_INSERT, *rResId.GetResMgr() ) ),
aFiFuncDesc ( this, ResId( FI_FUNCDESC, *rResId.GetResMgr() ) ),
aPrivatSplit ( new ScPrivatSplit( this, ResId( FT_SPLIT, *rResId.GetResMgr() ),SC_SPLIT_VERT) ),
aCatBox ( new ListBox( this, ResId( CB_CAT, *rResId.GetResMgr() ) ) ),
aFuncList ( new ListBox( this, ResId( LB_FUNC, *rResId.GetResMgr() ) ) ),
aDDFuncList ( new ListBox( this, ResId( DDLB_FUNC, *rResId.GetResMgr() ) ) ),
aInsertButton ( new ImageButton( this, ResId( IMB_INSERT, *rResId.GetResMgr() ) ) ),
aFiFuncDesc ( new FixedText( this, ResId( FI_FUNCDESC, *rResId.GetResMgr() ) ) ),
aOldSize (0,0),
pFuncDesc (NULL)
{
@@ -111,45 +111,45 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
else
eSfxNewAlignment=SfxChildAlignment::RIGHT;
eSfxOldAlignment=eSfxNewAlignment;
aFiFuncDesc.SetUpdateMode(true);
pAllFuncList=&aFuncList;
aDDFuncList.Disable();
aDDFuncList.Hide();
aFiFuncDesc->SetUpdateMode(true);
pAllFuncList=aFuncList.get();
aDDFuncList->Disable();
aDDFuncList->Hide();
nArgs=0;
nDockMode=0;
bSizeFlag=false;
aCatBox.SetDropDownLineCount(9);
vcl::Font aFont=aFiFuncDesc.GetFont();
aCatBox->SetDropDownLineCount(9);
vcl::Font aFont=aFiFuncDesc->GetFont();
aFont.SetColor(Color(COL_BLACK));
aFiFuncDesc.SetFont(aFont);
aFiFuncDesc.SetBackground( GetBackground() ); //! never transparent?
aFiFuncDesc->SetFont(aFont);
aFiFuncDesc->SetBackground( GetBackground() ); //! never transparent?
Link aLink=LINK( this, ScFunctionDockWin, SelHdl);
aCatBox.SetSelectHdl(aLink);
aFuncList.SetSelectHdl(aLink);
aDDFuncList.SetSelectHdl(aLink);
aCatBox->SetSelectHdl(aLink);
aFuncList->SetSelectHdl(aLink);
aDDFuncList->SetSelectHdl(aLink);
Link a2Link=LINK( this, ScFunctionDockWin, SetSelectionHdl);
aFuncList.SetDoubleClickHdl(a2Link);
aDDFuncList.SetSelectHdl(aLink);
aInsertButton.SetClickHdl(a2Link);
aFuncList->SetDoubleClickHdl(a2Link);
aDDFuncList->SetSelectHdl(aLink);
aInsertButton->SetClickHdl(a2Link);
Link a3Link=LINK( this, ScFunctionDockWin, SetSplitHdl);
aPrivatSplit.SetCtrModifiedHdl(a3Link);
aPrivatSplit->SetCtrModifiedHdl(a3Link);
StartListening( *pBindingsP, true );
Point aTopLeft=aCatBox.GetPosPixel();
Point aTopLeft=aCatBox->GetPosPixel();
OUString aString("ww");
Size aTxtSize( aFiFuncDesc.GetTextWidth(aString), aFiFuncDesc.GetTextHeight() );
Size aTxtSize( aFiFuncDesc->GetTextWidth(aString), aFiFuncDesc->GetTextHeight() );
nMinWidth=aTxtSize.Width()+aTopLeft.X()
+2*aFuncList.GetPosPixel().X();
+2*aFuncList->GetPosPixel().X();
nMinHeight=19*aTxtSize.Height();
aCatBox.SelectEntryPos(0);
aCatBox->SelectEntryPos(0);
Range aYRange(3*aTxtSize.Height()+aFuncList.GetPosPixel().Y(),
Range aYRange(3*aTxtSize.Height()+aFuncList->GetPosPixel().Y(),
GetOutputSizePixel().Height()-2*aTxtSize.Height());
aPrivatSplit.SetYRange(aYRange);
SelHdl(&aCatBox);
aPrivatSplit->SetYRange(aYRange);
SelHdl(aCatBox.get());
bInit = true;
}
@@ -169,7 +169,19 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP,
ScFunctionDockWin::~ScFunctionDockWin()
{
dispose();
}
void ScFunctionDockWin::dispose()
{
EndListening( GetBindings() );
aPrivatSplit.disposeAndClear();
aCatBox.disposeAndClear();
aFuncList.disposeAndClear();
aDDFuncList.disposeAndClear();
aInsertButton.disposeAndClear();
aFiFuncDesc.disposeAndClear();
SfxDockingWindow::dispose();
}
/*************************************************************************
@@ -192,7 +204,7 @@ void ScFunctionDockWin::InitLRUList()
ScFunctionMgr* pFuncMgr = ScGlobal::GetStarCalcFunctionMgr();
pFuncMgr->fillLastRecentlyUsedFunctions(aLRUList);
sal_Int32 nSelPos = aCatBox.GetSelectEntryPos();
sal_Int32 nSelPos = aCatBox->GetSelectEntryPos();
if(nSelPos == 0)
UpdateFunctionList();
@@ -254,18 +266,18 @@ void ScFunctionDockWin::SetSize()
if(nDockMode!=nNewDockMode)
{
nDockMode=nNewDockMode;
nSelEntry=aFuncList.GetSelectEntryPos();
aFuncList.Clear();
aFiFuncDesc.SetPosPixel(aFuncList.GetPosPixel());
aDDFuncList.Enable();
aDDFuncList.Show();
aPrivatSplit.Disable();
aPrivatSplit.Hide();
aFuncList.Disable();
aFuncList.Hide();
pAllFuncList=&aDDFuncList;
SelHdl(&aCatBox);
aDDFuncList.SelectEntryPos(nSelEntry);
nSelEntry=aFuncList->GetSelectEntryPos();
aFuncList->Clear();
aFiFuncDesc->SetPosPixel(aFuncList->GetPosPixel());
aDDFuncList->Enable();
aDDFuncList->Show();
aPrivatSplit->Disable();
aPrivatSplit->Hide();
aFuncList->Disable();
aFuncList->Hide();
pAllFuncList=aDDFuncList.get();
SelHdl(aCatBox.get());
aDDFuncList->SelectEntryPos(nSelEntry);
}
break;
@@ -273,17 +285,17 @@ void ScFunctionDockWin::SetSize()
if(nDockMode!=nNewDockMode)
{
nDockMode=nNewDockMode;
nSelEntry=aDDFuncList.GetSelectEntryPos();
aDDFuncList.Clear();
aDDFuncList.Disable();
aDDFuncList.Hide();
aPrivatSplit.Enable();
aPrivatSplit.Show();
aFuncList.Enable();
aFuncList.Show();
pAllFuncList=&aFuncList;
SelHdl(&aCatBox);
aFuncList.SelectEntryPos(nSelEntry);
nSelEntry=aDDFuncList->GetSelectEntryPos();
aDDFuncList->Clear();
aDDFuncList->Disable();
aDDFuncList->Hide();
aPrivatSplit->Enable();
aPrivatSplit->Show();
aFuncList->Enable();
aFuncList->Show();
pAllFuncList=aFuncList.get();
SelHdl(aCatBox.get());
aFuncList->SelectEntryPos(nSelEntry);
}
break;
}
@@ -324,11 +336,11 @@ void ScFunctionDockWin::SetLeftRightSize()
aDiffSize.Height()-=aNewSize.Height();
OUString aString("ww");
Size aTxtSize( aFuncList.GetTextWidth(aString), aFuncList.GetTextHeight() );
Size aTxtSize( aFuncList->GetTextWidth(aString), aFuncList->GetTextHeight() );
Range aYRange(3*aTxtSize.Height()+aFuncList.GetPosPixel().Y(),
Range aYRange(3*aTxtSize.Height()+aFuncList->GetPosPixel().Y(),
GetOutputSizePixel().Height()-2*aTxtSize.Height());
aPrivatSplit.SetYRange(aYRange);
aPrivatSplit->SetYRange(aYRange);
if(aOldSize.Width()!=aNewSize.Width())
SetMyWidthLeRi(aNewSize);
@@ -396,23 +408,23 @@ void ScFunctionDockWin::SetMyWidthLeRi(Size &aNewSize)
{
if((sal_uLong)aNewSize.Width()<nMinWidth) aNewSize.Width()=nMinWidth;
Size aCDSize=aCatBox.GetSizePixel();
Size aFLSize=aFuncList.GetSizePixel();
Size aSplitterSize=aPrivatSplit.GetSizePixel();
Size aFDSize=aFiFuncDesc.GetSizePixel();
Size aCDSize=aCatBox->GetSizePixel();
Size aFLSize=aFuncList->GetSizePixel();
Size aSplitterSize=aPrivatSplit->GetSizePixel();
Size aFDSize=aFiFuncDesc->GetSizePixel();
Point aCDTopLeft=aCatBox.GetPosPixel();
Point aFLTopLeft=aFuncList.GetPosPixel();
Point aCDTopLeft=aCatBox->GetPosPixel();
Point aFLTopLeft=aFuncList->GetPosPixel();
aCDSize.Width()=aNewSize.Width()-aCDTopLeft.X()-aFLTopLeft.X();
aFLSize.Width()=aNewSize.Width()-2*aFLTopLeft.X();
aFDSize.Width()=aFLSize.Width();
aSplitterSize.Width()=aFLSize.Width();
aCatBox.SetSizePixel(aCDSize);
aFuncList.SetSizePixel(aFLSize);
aPrivatSplit.SetSizePixel(aSplitterSize);
aFiFuncDesc.SetSizePixel(aFDSize);
aCatBox->SetSizePixel(aCDSize);
aFuncList->SetSizePixel(aFLSize);
aPrivatSplit->SetSizePixel(aSplitterSize);
aFiFuncDesc->SetSizePixel(aFDSize);
}
/*************************************************************************
@@ -434,18 +446,18 @@ void ScFunctionDockWin::SetMyHeightLeRi(Size &aNewSize)
{
if((sal_uLong)aNewSize.Height()<nMinHeight) aNewSize.Height()=nMinHeight;
Size aFLSize=aFuncList.GetSizePixel();
Size aSplitterSize=aPrivatSplit.GetSizePixel();
Size aFDSize=aFiFuncDesc.GetSizePixel();
Size aFLSize=aFuncList->GetSizePixel();
Size aSplitterSize=aPrivatSplit->GetSizePixel();
Size aFDSize=aFiFuncDesc->GetSizePixel();
Point aFLTopLeft=aFuncList.GetPosPixel();
Point aSplitterTopLeft=aPrivatSplit.GetPosPixel();
Point aFDTopLeft=aFiFuncDesc.GetPosPixel();
Point aFLTopLeft=aFuncList->GetPosPixel();
Point aSplitterTopLeft=aPrivatSplit->GetPosPixel();
Point aFDTopLeft=aFiFuncDesc->GetPosPixel();
long nTxtHeight = aFuncList.GetTextHeight();
long nTxtHeight = aFuncList->GetTextHeight();
short nY=(short)(3*nTxtHeight+
aFuncList.GetPosPixel().Y()+aSplitterSize.Height());
aFuncList->GetPosPixel().Y()+aSplitterSize.Height());
aFDTopLeft.Y()=aNewSize.Height()-aFDSize.Height()-4;
if(nY>aFDTopLeft.Y())
@@ -456,10 +468,10 @@ void ScFunctionDockWin::SetMyHeightLeRi(Size &aNewSize)
aSplitterTopLeft.Y()=aFDTopLeft.Y()-aSplitterSize.Height()-1;
aFLSize.Height()=aSplitterTopLeft.Y()-aFLTopLeft.Y()-1;
aFuncList.SetSizePixel(aFLSize);
aPrivatSplit.SetPosPixel(aSplitterTopLeft);
aFiFuncDesc.SetPosPixel(aFDTopLeft);
aFiFuncDesc.SetSizePixel(aFDSize);
aFuncList->SetSizePixel(aFLSize);
aPrivatSplit->SetPosPixel(aSplitterTopLeft);
aFiFuncDesc->SetPosPixel(aFDTopLeft);
aFiFuncDesc->SetSizePixel(aFDSize);
}
@@ -483,13 +495,13 @@ void ScFunctionDockWin::SetMyWidthToBo(Size &aNewSize)
{
if((sal_uLong)aNewSize.Width()<nMinWidth) aNewSize.Width()=nMinWidth;
Size aCDSize=aCatBox.GetSizePixel();
Size aDdFLSize=aDDFuncList.GetSizePixel();
Size aFDSize=aFiFuncDesc.GetSizePixel();
Size aCDSize=aCatBox->GetSizePixel();
Size aDdFLSize=aDDFuncList->GetSizePixel();
Size aFDSize=aFiFuncDesc->GetSizePixel();
Point aCDTopLeft=aCatBox.GetPosPixel();
Point aDdFLTopLeft=aDDFuncList.GetPosPixel();
Point aFDTopLeft=aFiFuncDesc.GetPosPixel();
Point aCDTopLeft=aCatBox->GetPosPixel();
Point aDdFLTopLeft=aDDFuncList->GetPosPixel();
Point aFDTopLeft=aFiFuncDesc->GetPosPixel();
aCDSize.Width()=aDdFLTopLeft.X()-aFDTopLeft.X()-aCDTopLeft.X();
aDdFLTopLeft.X()=aCDSize.Width()+aCDTopLeft.X()+aFDTopLeft.X();
@@ -498,10 +510,10 @@ void ScFunctionDockWin::SetMyWidthToBo(Size &aNewSize)
aFDSize.Width()=aNewSize.Width()-2*aFDTopLeft.X();
aDDFuncList.SetPosPixel(aDdFLTopLeft);
aDDFuncList.SetSizePixel(aDdFLSize);
aCatBox.SetSizePixel(aCDSize);
aFiFuncDesc.SetSizePixel(aFDSize);
aDDFuncList->SetPosPixel(aDdFLTopLeft);
aDDFuncList->SetSizePixel(aDdFLSize);
aCatBox->SetSizePixel(aCDSize);
aFiFuncDesc->SetSizePixel(aFDSize);
}
/*************************************************************************
@@ -524,12 +536,12 @@ void ScFunctionDockWin::SetMyHeightToBo(Size &aNewSize)
{
if((sal_uLong)aNewSize.Height()<nMinHeight) aNewSize.Height()=nMinHeight;
Size aFDSize=aFiFuncDesc.GetSizePixel();
Size aFDSize=aFiFuncDesc->GetSizePixel();
Point aFDTopLeft=aFiFuncDesc.GetPosPixel();
Point aCBTopLeft=aCatBox.GetPosPixel();
Point aFDTopLeft=aFiFuncDesc->GetPosPixel();
Point aCBTopLeft=aCatBox->GetPosPixel();
aFDSize.Height()=aNewSize.Height()-aFDTopLeft.Y()-aCBTopLeft.Y();
aFiFuncDesc.SetSizePixel(aFDSize);
aFiFuncDesc->SetSizePixel(aFDSize);
}
@@ -549,7 +561,7 @@ void ScFunctionDockWin::SetMyHeightToBo(Size &aNewSize)
void ScFunctionDockWin::SetDescription()
{
aFiFuncDesc.SetText( EMPTY_OUSTRING );
aFiFuncDesc->SetText( EMPTY_OUSTRING );
const ScFuncDesc* pDesc =
static_cast<const ScFuncDesc*>(pAllFuncList->GetEntryData(
pAllFuncList->GetSelectEntryPos() ));
@@ -580,10 +592,10 @@ void ScFunctionDockWin::SetDescription()
aBuf.append(*pDesc->pFuncDesc);
aFiFuncDesc.SetText(aBuf.makeStringAndClear());
aFiFuncDesc.StateChanged(StateChangedType::TEXT);
aFiFuncDesc.Invalidate();
aFiFuncDesc.Update();
aFiFuncDesc->SetText(aBuf.makeStringAndClear());
aFiFuncDesc->StateChanged(StateChangedType::TEXT);
aFiFuncDesc->Invalidate();
aFiFuncDesc->Update();
}
}
@@ -641,7 +653,7 @@ SfxChildAlignment ScFunctionDockWin::CheckAlignment(SfxChildAlignment /* abla */
SfxChildAlignment aChildAlign)
{
OUString aString("ww");
Size aTxtSize( aFiFuncDesc.GetTextWidth(aString), aFiFuncDesc.GetTextHeight() );
Size aTxtSize( aFiFuncDesc->GetTextWidth(aString), aFiFuncDesc->GetTextHeight() );
if(!bInit)
{
eSfxOldAlignment=eSfxNewAlignment;
@@ -671,14 +683,14 @@ SfxChildAlignment ScFunctionDockWin::CheckAlignment(SfxChildAlignment /* abla */
case SfxChildAlignment::NOALIGNMENT:
aString = aCatBox.GetEntry(0);
aString = aCatBox->GetEntry(0);
aString += "www";
aTxtSize = Size( aFiFuncDesc.GetTextWidth(aString),
aFiFuncDesc.GetTextHeight() );
aTxtSize = Size( aFiFuncDesc->GetTextWidth(aString),
aFiFuncDesc->GetTextHeight() );
// fall-through
default: Point aTopLeft=aCatBox.GetPosPixel();
default: Point aTopLeft=aCatBox->GetPosPixel();
nMinWidth=aTxtSize.Width()+aTopLeft.X()
+2*aFuncList.GetPosPixel().X();
+2*aFuncList->GetPosPixel().X();
nMinHeight=19*aTxtSize.Height();
break;
@@ -733,7 +745,7 @@ void ScFunctionDockWin::Resize()
void ScFunctionDockWin::UpdateFunctionList()
{
sal_Int32 nSelPos = aCatBox.GetSelectEntryPos();
sal_Int32 nSelPos = aCatBox->GetSelectEntryPos();
sal_Int32 nCategory = ( LISTBOX_ENTRY_NOTFOUND != nSelPos )
? (nSelPos-1) : 0;
@@ -912,13 +924,13 @@ void ScFunctionDockWin::DoEnter()
IMPL_LINK( ScFunctionDockWin, SelHdl, ListBox*, pLb )
{
if ( pLb == &aCatBox)
if ( pLb == aCatBox.get() )
{
UpdateFunctionList();
SetDescription();
}
if ( pLb == &aFuncList||pLb == &aDDFuncList)
if ( pLb == aFuncList.get() || pLb == aDDFuncList.get() )
{
SetDescription();
}
@@ -944,8 +956,8 @@ IMPL_LINK( ScFunctionDockWin, SelHdl, ListBox*, pLb )
IMPL_LINK( ScFunctionDockWin, SetSelectionHdl, void*, pCtrl )
{
if (static_cast<ImageButton *>(pCtrl) == &aInsertButton ||
static_cast<ListBox *>(pCtrl) == &aFuncList)
if (static_cast<ImageButton *>(pCtrl) == aInsertButton.get() ||
static_cast<ListBox *>(pCtrl) == aFuncList.get())
{
DoEnter(); // Uebernimmt die Eingabe
}
@@ -970,19 +982,19 @@ IMPL_LINK( ScFunctionDockWin, SetSelectionHdl, void*, pCtrl )
IMPL_LINK( ScFunctionDockWin, SetSplitHdl, ScPrivatSplit*, pCtrl )
{
if (pCtrl == &aPrivatSplit)
if (pCtrl == aPrivatSplit.get())
{
short nDeltaY=aPrivatSplit.GetDeltaY();
Size aFLSize=aFuncList.GetSizePixel();
Size aFDSize=aFiFuncDesc.GetSizePixel();
Point aFDTopLeft=aFiFuncDesc.GetPosPixel();
short nDeltaY=aPrivatSplit->GetDeltaY();
Size aFLSize=aFuncList->GetSizePixel();
Size aFDSize=aFiFuncDesc->GetSizePixel();
Point aFDTopLeft=aFiFuncDesc->GetPosPixel();
aFLSize.Height()+=nDeltaY;
aFDSize.Height()-=nDeltaY;
aFDTopLeft.Y()+=nDeltaY;
aFuncList.SetSizePixel(aFLSize);
aFiFuncDesc.SetPosPixel(aFDTopLeft);
aFiFuncDesc.SetSizePixel(aFDSize);
aFuncList->SetSizePixel(aFLSize);
aFiFuncDesc->SetPosPixel(aFDTopLeft);
aFiFuncDesc->SetSizePixel(aFDSize);
}
return 0;
@@ -1040,13 +1052,13 @@ void ScFunctionDockWin::Initialize(SfxChildWinInfo *pInfo)
if ( !aStr.isEmpty())
{
aSplitterInitPos = aPrivatSplit.GetPosPixel();
aSplitterInitPos = aPrivatSplit->GetPosPixel();
aSplitterInitPos.Y() = (sal_uInt16) aStr.toInt32();
sal_Int32 n1 = aStr.indexOf(';');
aStr = aStr.copy( n1+1 );
sal_Int32 nSelPos = aStr.toInt32();
aCatBox.SelectEntryPos(nSelPos);
SelHdl(&aCatBox);
aCatBox->SelectEntryPos(nSelPos);
SelHdl(aCatBox.get());
// if the window has already been shown (from SfxDockingWindow::Initialize if docked),
// set the splitter position now, otherwise it is set in StateChanged with type INITSHOW
@@ -1058,17 +1070,17 @@ void ScFunctionDockWin::Initialize(SfxChildWinInfo *pInfo)
void ScFunctionDockWin::FillInfo(SfxChildWinInfo& rInfo) const
{
SfxDockingWindow::FillInfo(rInfo);
Point aPoint=aPrivatSplit.GetPosPixel();
Point aPoint=aPrivatSplit->GetPosPixel();
rInfo.aExtraString += "ScFuncList:(" +
OUString::number(aPoint.Y()) + ";" +
OUString::number(aCatBox.GetSelectEntryPos()) + ")";
OUString::number(aCatBox->GetSelectEntryPos()) + ")";
}
void ScFunctionDockWin::UseSplitterInitPos()
{
if ( IsVisible() && aPrivatSplit.IsEnabled() && aSplitterInitPos != Point() )
if ( IsVisible() && aPrivatSplit->IsEnabled() && aSplitterInitPos != Point() )
{
aPrivatSplit.MoveSplitTo(aSplitterInitPos);
aPrivatSplit->MoveSplitTo(aSplitterInitPos);
aSplitterInitPos = Point(); // use only once
}
}
diff --git a/sc/source/ui/formdlg/formula.cxx b/sc/source/ui/formdlg/formula.cxx
index 5909f3b..8867fad 100644
--- a/sc/source/ui/formdlg/formula.cxx
+++ b/sc/source/ui/formdlg/formula.cxx
@@ -241,6 +241,11 @@ void ScFormulaDlg::fill()
ScFormulaDlg::~ScFormulaDlg()
{
dispose();
}
void ScFormulaDlg::dispose()
{
ScModule* pScMod = SC_MOD();
ScFormEditData* pData = pScMod->GetFormEditData();
@@ -250,6 +255,7 @@ ScFormulaDlg::~ScFormulaDlg()
pScMod->SetRefInputHdl(NULL);
StoreFormEditData(pData);
}
formula::FormulaDlg::dispose();
}
bool ScFormulaDlg::IsInputHdl(ScInputHandler* pHdl)
diff --git a/sc/source/ui/inc/acredlin.hxx b/sc/source/ui/inc/acredlin.hxx
index 5f10898..0dd82d8 100644
--- a/sc/source/ui/inc/acredlin.hxx
+++ b/sc/source/ui/inc/acredlin.hxx
@@ -206,6 +206,7 @@ public:
ScViewData* ptrViewData);
virtual ~ScAcceptChgDlg();
virtual void dispose() SAL_OVERRIDE;
void ReInit(ScViewData* ptrViewData);
diff --git a/sc/source/ui/inc/areasdlg.hxx b/sc/source/ui/inc/areasdlg.hxx
index dab9308..4798db7 100644
--- a/sc/source/ui/inc/areasdlg.hxx
+++ b/sc/source/ui/inc/areasdlg.hxx
@@ -1,4 +1,3 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
@@ -35,6 +34,7 @@ class ScPrintAreasDlg : public ScAnyRefDlg
public:
ScPrintAreasDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent );
virtual ~ScPrintAreasDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
virtual void AddRefEntry() SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/autofmt.hxx b/sc/source/ui/inc/autofmt.hxx
index 5987982..070ef9f 100644
--- a/sc/source/ui/inc/autofmt.hxx
+++ b/sc/source/ui/inc/autofmt.hxx
@@ -46,6 +46,7 @@ public:
ScAutoFmtPreview(vcl::Window* pParent);
void DetectRTL(ScViewData *pViewData);
virtual ~ScAutoFmtPreview();
virtual void dispose() SAL_OVERRIDE;
void NotifyChange( ScAutoFormatData* pNewData );
diff --git a/sc/source/ui/inc/checklistmenu.hxx b/sc/source/ui/inc/checklistmenu.hxx
index aea8507..73fc1bd 100644
--- a/sc/source/ui/inc/checklistmenu.hxx
+++ b/sc/source/ui/inc/checklistmenu.hxx
@@ -196,7 +196,8 @@ class ScCheckListBox : public SvTreeListBox
public:
ScCheckListBox( vcl::Window* pParent, WinBits nWinStyle = 0 );
virtual ~ScCheckListBox() { delete mpCheckButton; }
virtual ~ScCheckListBox() { dispose(); }
virtual void dispose() SAL_OVERRIDE { delete mpCheckButton; SvTreeListBox::dispose(); }
void Init();
void CheckEntry( const OUString& sName, SvTreeListEntry* pParent, bool bCheck = true );
void CheckEntry( SvTreeListEntry* pEntry, bool bCheck = true );
@@ -238,6 +239,7 @@ public:
explicit ScCheckListMenuWindow(vcl::Window* pParent, ScDocument* pDoc);
virtual ~ScCheckListMenuWindow();
virtual void dispose() SAL_OVERRIDE;
virtual void MouseMove(const MouseEvent& rMEvt) SAL_OVERRIDE;
virtual bool Notify(NotifyEvent& rNEvt) SAL_OVERRIDE;
@@ -329,16 +331,15 @@ private:
private:
SvTreeListEntry* findEntry( SvTreeListEntry* pParent, const OUString& rText );
Edit maEdSearch;
VclPtr<Edit> maEdSearch;
VclPtr<ScCheckListBox> maChecks;
ScCheckListBox maChecks;
VclPtr<TriStateBox> maChkToggleAll;
VclPtr<ImageButton> maBtnSelectSingle;
VclPtr<ImageButton> maBtnUnselectSingle;
TriStateBox maChkToggleAll;
ImageButton maBtnSelectSingle;
ImageButton maBtnUnselectSingle;
OKButton maBtnOk;
CancelButton maBtnCancel;
VclPtr<OKButton> maBtnOk;
VclPtr<CancelButton> maBtnCancel;
::std::vector<vcl::Window*> maTabStopCtrls;
size_t mnCurTabStop;
diff --git a/sc/source/ui/inc/condformatdlgentry.hxx b/sc/source/ui/inc/condformatdlgentry.hxx
index 0ed7a5b..4d7949d 100644
--- a/sc/source/ui/inc/condformatdlgentry.hxx
+++ b/sc/source/ui/inc/condformatdlgentry.hxx
@@ -46,13 +46,13 @@ private:
Link maClickHdl;
//general ui elements
FixedText maFtCondNr;
FixedText maFtCondition;
VclPtr<FixedText> maFtCondNr;
VclPtr<FixedText> maFtCondition;
sal_Int32 mnIndex;
OUString maStrCondition;
protected:
ListBox maLbType;
VclPtr<ListBox> maLbType;
ScDocument* mpDoc;
ScAddress maPos;
@@ -67,6 +67,7 @@ protected:
public:
ScCondFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos );
virtual ~ScCondFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
@@ -85,13 +86,13 @@ public:
class ScConditionFrmtEntry : public ScCondFrmtEntry, public SfxListener
{
//cond format ui elements
ListBox maLbCondType;
formula::RefEdit maEdVal1;
formula::RefEdit maEdVal2;
FixedText maFtVal;
FixedText maFtStyle;
ListBox maLbStyle;
SvxFontPrevWindow maWdPreview;
VclPtr<ListBox> maLbCondType;
VclPtr<formula::RefEdit> maEdVal1;
VclPtr<formula::RefEdit> maEdVal2;
VclPtr<FixedText> maFtVal;
VclPtr<FixedText> maFtStyle;
VclPtr<ListBox> maLbStyle;
VclPtr<SvxFontPrevWindow> maWdPreview;
bool mbIsInStyleCreate;
static const sal_Int32 NUM_COND_ENTRIES = 24;
@@ -120,6 +121,8 @@ protected:
public:
ScConditionFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, ScCondFormatDlg* pDialogParent,
const ScAddress& rPos, const ScCondFormatEntry* pFormatEntry = NULL );
virtual ~ScConditionFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
@@ -133,10 +136,10 @@ public:
class ScFormulaFrmtEntry : public ScCondFrmtEntry
{
FixedText maFtStyle;
ListBox maLbStyle;
SvxFontPrevWindow maWdPreview;
formula::RefEdit maEdFormula;
VclPtr<FixedText> maFtStyle;
VclPtr<ListBox> maLbStyle;
VclPtr<SvxFontPrevWindow> maWdPreview;
VclPtr<formula::RefEdit> maEdFormula;
ScFormatEntry* createFormulaEntry() const;
virtual OUString GetExpressionString() SAL_OVERRIDE;
@@ -146,6 +149,8 @@ class ScFormulaFrmtEntry : public ScCondFrmtEntry
public:
ScFormulaFrmtEntry( vcl::Window* pParent, ScDocument* PDoc, ScCondFormatDlg* pDialogParent, const ScAddress& rPos, const ScCondFormatEntry* pFormatEntry = NULL );
virtual ~ScFormulaFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
@@ -157,17 +162,17 @@ class ScColorScale2FrmtEntry : public ScCondFrmtEntry
{
//color format ui elements
ListBox maLbColorFormat;
VclPtr<ListBox> maLbColorFormat;
//color scale ui elements
ListBox maLbEntryTypeMin;
ListBox maLbEntryTypeMax;
VclPtr<ListBox> maLbEntryTypeMin;
VclPtr<ListBox> maLbEntryTypeMax;
Edit maEdMin;
Edit maEdMax;
VclPtr<Edit> maEdMin;
VclPtr<Edit> maEdMax;
ColorListBox maLbColMin;
ColorListBox maLbColMax;
VclPtr<ColorListBox> maLbColMin;
VclPtr<ColorListBox> maLbColMax;
ScFormatEntry* createColorscaleEntry() const;
@@ -177,6 +182,8 @@ class ScColorScale2FrmtEntry : public ScCondFrmtEntry
DECL_LINK( EntryTypeHdl, ListBox* );
public:
ScColorScale2FrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat = NULL );
virtual ~ScColorScale2FrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetInactive() SAL_OVERRIDE;
@@ -187,20 +194,20 @@ class ScColorScale3FrmtEntry : public ScCondFrmtEntry
{
//color format ui elements
ListBox maLbColorFormat;
VclPtr<ListBox> maLbColorFormat;
//color scale ui elements
ListBox maLbEntryTypeMin;
ListBox maLbEntryTypeMiddle;
ListBox maLbEntryTypeMax;
VclPtr<ListBox> maLbEntryTypeMin;
VclPtr<ListBox> maLbEntryTypeMiddle;
VclPtr<ListBox> maLbEntryTypeMax;
Edit maEdMin;
Edit maEdMiddle;
Edit maEdMax;
VclPtr<Edit> maEdMin;
VclPtr<Edit> maEdMiddle;
VclPtr<Edit> maEdMax;
ColorListBox maLbColMin;
ColorListBox maLbColMiddle;
ColorListBox maLbColMax;
VclPtr<ColorListBox> maLbColMin;
VclPtr<ColorListBox> maLbColMiddle;
VclPtr<ColorListBox> maLbColMax;
ScFormatEntry* createColorscaleEntry() const;
@@ -210,6 +217,8 @@ class ScColorScale3FrmtEntry : public ScCondFrmtEntry
DECL_LINK( EntryTypeHdl, ListBox* );
public:
ScColorScale3FrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScColorScaleFormat* pFormat = NULL );
virtual ~ScColorScale3FrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetInactive() SAL_OVERRIDE;
@@ -219,15 +228,15 @@ public:
class ScDataBarFrmtEntry : public ScCondFrmtEntry
{
//color format ui elements
ListBox maLbColorFormat;
VclPtr<ListBox> maLbColorFormat;
//data bar ui elements
ListBox maLbDataBarMinType;
ListBox maLbDataBarMaxType;
Edit maEdDataBarMin;
Edit maEdDataBarMax;
VclPtr<ListBox> maLbDataBarMinType;
VclPtr<ListBox> maLbDataBarMaxType;
VclPtr<Edit> maEdDataBarMin;
VclPtr<Edit> maEdDataBarMax;
PushButton maBtOptions;
VclPtr<PushButton> maBtOptions;
boost::scoped_ptr<ScDataBarFormatData> mpDataBarData;
@@ -240,6 +249,8 @@ class ScDataBarFrmtEntry : public ScCondFrmtEntry
DECL_LINK( DataBarTypeSelectHdl, void* );
public:
ScDataBarFrmtEntry( vcl::Window* pParemt, ScDocument* pDoc, const ScAddress& rPos, const ScDataBarFormat* pFormat = NULL );
virtual ~ScDataBarFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetInactive() SAL_OVERRIDE;
@@ -251,6 +262,8 @@ class ScDateFrmtEntry : public ScCondFrmtEntry, public SfxListener
{
public:
ScDateFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScCondDateFormatEntry* pFormat = NULL );
virtual ~ScDateFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetInactive() SAL_OVERRIDE;
@@ -266,10 +279,10 @@ private:
DECL_LINK( StyleSelectHdl, void* );
ListBox maLbDateEntry;
FixedText maFtStyle;
ListBox maLbStyle;
SvxFontPrevWindow maWdPreview;
VclPtr<ListBox> maLbDateEntry;
VclPtr<FixedText> maFtStyle;
VclPtr<ListBox> maLbStyle;
VclPtr<SvxFontPrevWindow> maWdPreview;
bool mbIsInStyleCreate;
};
@@ -277,10 +290,10 @@ private:
class ScIconSetFrmtEntry : public ScCondFrmtEntry
{
//color format ui elements
ListBox maLbColorFormat;
VclPtr<ListBox> maLbColorFormat;
// icon set ui elements
ListBox maLbIconSetType;
VclPtr<ListBox> maLbIconSetType;
typedef boost::ptr_vector<ScIconSetFrmtDataEntry> ScIconSetFrmtDataEntriesType;
ScIconSetFrmtDataEntriesType maEntries;
@@ -293,6 +306,8 @@ class ScIconSetFrmtEntry : public ScCondFrmtEntry
public:
ScIconSetFrmtEntry( vcl::Window* pParent, ScDocument* pDoc, const ScAddress& rPos, const ScIconSetFormat* pFormat = NULL );
virtual ~ScIconSetFrmtEntry();
virtual void dispose() SAL_OVERRIDE;
virtual ScFormatEntry* GetEntry() const SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetInactive() SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/condformatmgr.hxx b/sc/source/ui/inc/condformatmgr.hxx
index 6f577e4..31338a4 100644
--- a/sc/source/ui/inc/condformatmgr.hxx
+++ b/sc/source/ui/inc/condformatmgr.hxx
@@ -50,6 +50,7 @@ class ScCondFormatManagerDlg : public ModalDialog
public:
ScCondFormatManagerDlg(vcl::Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList, const ScAddress& rPos);
virtual ~ScCondFormatManagerDlg();
virtual void dispose() SAL_OVERRIDE;
ScConditionalFormatList* GetConditionalFormatList();
diff --git a/sc/source/ui/inc/consdlg.hxx b/sc/source/ui/inc/consdlg.hxx
index 0f3c60c..c7f49fe 100644
--- a/sc/source/ui/inc/consdlg.hxx
+++ b/sc/source/ui/inc/consdlg.hxx
@@ -39,6 +39,7 @@ public:
ScConsolidateDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScConsolidateDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/csvcontrol.hxx b/sc/source/ui/inc/csvcontrol.hxx
index c66bac5..fee07ec 100644
--- a/sc/source/ui/inc/csvcontrol.hxx
+++ b/sc/source/ui/inc/csvcontrol.hxx
@@ -241,6 +241,7 @@ public:
explicit ScCsvControl( ScCsvControl& rParent );
explicit ScCsvControl( vcl::Window* pParent, const ScCsvLayoutData& rData, WinBits nBits );
virtual ~ScCsvControl();
virtual void dispose() SAL_OVERRIDE;
// event handling ---------------------------------------------------------
diff --git a/sc/source/ui/inc/csvgrid.hxx b/sc/source/ui/inc/csvgrid.hxx
index bab6dda..3229eae 100644
--- a/sc/source/ui/inc/csvgrid.hxx
+++ b/sc/source/ui/inc/csvgrid.hxx
@@ -109,6 +109,7 @@ private:
public:
explicit ScCsvGrid( ScCsvControl& rParent );
virtual ~ScCsvGrid();
virtual void dispose() SAL_OVERRIDE;
/** Finishes initialization. Must be called after constructing a new object. */
void Init();
diff --git a/sc/source/ui/inc/csvruler.hxx b/sc/source/ui/inc/csvruler.hxx
index ef73cae..d789a38 100644
--- a/sc/source/ui/inc/csvruler.hxx
+++ b/sc/source/ui/inc/csvruler.hxx
@@ -55,6 +55,7 @@ private:
public:
explicit ScCsvRuler( ScCsvControl& rParent );
virtual ~ScCsvRuler();
virtual void dispose() SAL_OVERRIDE;
// common ruler handling --------------------------------------------------
public:
diff --git a/sc/source/ui/inc/csvtablebox.hxx b/sc/source/ui/inc/csvtablebox.hxx
index cda528a..2c5b458 100644
--- a/sc/source/ui/inc/csvtablebox.hxx
+++ b/sc/source/ui/inc/csvtablebox.hxx
@@ -22,6 +22,7 @@
#include <vcl/ctrl.hxx>
#include <vcl/scrbar.hxx>
#include <vcl/vclptr.hxx>
#include "scdllapi.h"
#include "csvcontrol.hxx"
#include "csvruler.hxx"
@@ -44,11 +45,11 @@ class SC_DLLPUBLIC ScCsvTableBox : public ScCsvControl
private:
ScCsvLayoutData maData; /// Current layout data of the controls.
ScCsvRuler maRuler; /// The ruler for fixed width mode.
ScCsvGrid maGrid; /// Calc-like data table for fixed width mode.
ScrollBar maHScroll; /// Horizontal scroll bar.
ScrollBar maVScroll; /// Vertical scroll bar.
ScrollBarBox maScrollBox; /// For the bottom right edge.
VclPtr<ScCsvRuler> maRuler; /// The ruler for fixed width mode.
VclPtr<ScCsvGrid> maGrid; /// Calc-like data table for fixed width mode.
VclPtr<ScrollBar> maHScroll; /// Horizontal scroll bar.
VclPtr<ScrollBar> maVScroll; /// Vertical scroll bar.
VclPtr<ScrollBarBox> maScrollBox; /// For the bottom right edge.
Link maUpdateTextHdl; /// Updates all cell texts.
Link maColTypeHdl; /// Handler for exporting the column type.
@@ -62,6 +63,8 @@ private:
public:
explicit ScCsvTableBox( vcl::Window* pParent, WinBits nBits );
virtual ~ScCsvTableBox();
virtual void dispose() SAL_OVERRIDE;
/** Finishes initialization. Must be called after constructing a new object. */
void Init();
@@ -102,7 +105,7 @@ public:
/** Reads UI strings for data types from the list box. */
void InitTypes( const ListBox& rListBox );
/** Returns the data type of the selected columns. */
inline sal_Int32 GetSelColumnType() const { return maGrid.GetSelColumnType(); }
inline sal_Int32 GetSelColumnType() const { return maGrid->GetSelColumnType(); }
/** Fills the options object with current column data. */
void FillColumnData( ScAsciiOptions& rOptions ) const;
diff --git a/sc/source/ui/inc/dbnamdlg.hxx b/sc/source/ui/inc/dbnamdlg.hxx
index 6b6d683..ec2dfd6 100644
--- a/sc/source/ui/inc/dbnamdlg.hxx
+++ b/sc/source/ui/inc/dbnamdlg.hxx
@@ -38,6 +38,7 @@ public:
ScDbNameDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
ScViewData* ptrViewData );
virtual ~ScDbNameDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/dwfunctr.hxx b/sc/source/ui/inc/dwfunctr.hxx
index 07b532f..28e8580 100644
--- a/sc/source/ui/inc/dwfunctr.hxx
+++ b/sc/source/ui/inc/dwfunctr.hxx
@@ -47,16 +47,16 @@ class ScFunctionDockWin : public SfxDockingWindow, public SfxListener
private:
Idle aIdle;
ScPrivatSplit aPrivatSplit;
ListBox aCatBox;
ListBox aFuncList;
ListBox aDDFuncList;
VclPtr<ScPrivatSplit> aPrivatSplit;
VclPtr<ListBox> aCatBox;
VclPtr<ListBox> aFuncList;
VclPtr<ListBox> aDDFuncList;
ListBox* pAllFuncList;
SfxChildAlignment eSfxNewAlignment;
SfxChildAlignment eSfxOldAlignment;
ImageButton aInsertButton;
FixedText aFiFuncDesc;
VclPtr<ImageButton> aInsertButton;
VclPtr<FixedText> aFiFuncDesc;
sal_uLong nMinWidth;
sal_uLong nMinHeight;
Size aOldSize;
@@ -105,6 +105,7 @@ public:
const ResId& rResId );
virtual ~ScFunctionDockWin();
virtual void dispose() SAL_OVERRIDE;
using SfxDockingWindow::Notify;
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx
index e7e89cc9..30b5399 100644
--- a/sc/source/ui/inc/filtdlg.hxx
+++ b/sc/source/ui/inc/filtdlg.hxx
@@ -56,6 +56,7 @@ public:
ScFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScFilterDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
@@ -163,6 +164,7 @@ public:
ScSpecialFilterDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScSpecialFilterDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/formula.hxx b/sc/source/ui/inc/formula.hxx
index 66db880..b525b18 100644
--- a/sc/source/ui/inc/formula.hxx
+++ b/sc/source/ui/inc/formula.hxx
@@ -55,6 +55,7 @@ public:
ScFormulaDlg( SfxBindings* pB, SfxChildWindow* pCW,
vcl::Window* pParent, ScViewData* pViewData ,formula::IFunctionManager* _pFunctionMgr);
virtual ~ScFormulaDlg();
virtual void dispose() SAL_OVERRIDE;
// IFormulaEditorHelper
virtual void notifyChange() SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx
index 259844e..f889098 100644
--- a/sc/source/ui/inc/gridwin.hxx
+++ b/sc/source/ui/inc/gridwin.hxx
@@ -302,6 +302,7 @@ public:
ScGridWindow( vcl::Window* pParent, ScViewData* pData, ScSplitPos eWhichPos );
virtual ~ScGridWindow();
virtual void dispose() SAL_OVERRIDE;
virtual void KeyInput(const KeyEvent& rKEvt) SAL_OVERRIDE;
// #i70788# flush and get overlay
diff --git a/sc/source/ui/inc/highred.hxx b/sc/source/ui/inc/highred.hxx
index 0b0039d..b80a3b8 100644
--- a/sc/source/ui/inc/highred.hxx
+++ b/sc/source/ui/inc/highred.hxx
@@ -81,6 +81,7 @@ public:
ScViewData* ptrViewData);
virtual ~ScHighlightChgDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetActive() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx
index a1c9478..db96b99 100644
--- a/sc/source/ui/inc/inputwin.hxx
+++ b/sc/source/ui/inc/inputwin.hxx
@@ -62,6 +62,7 @@ class ScTextWnd : public ScTextWndBase, public DragSourceHelper // edit wind
public:
ScTextWnd( vcl::Window* pParent, ScTabViewShell* pViewSh );
virtual ~ScTextWnd();
virtual void dispose() SAL_OVERRIDE;
virtual void SetTextString( const OUString& rString ) SAL_OVERRIDE;
virtual const OUString& GetTextString() const SAL_OVERRIDE;
@@ -139,6 +140,7 @@ private:
public:
ScPosWnd( vcl::Window* pParent );
virtual ~ScPosWnd();
virtual void dispose() SAL_OVERRIDE;
void SetPos( const OUString& rPosStr ); // Displayed Text
void SetFormulaMode( bool bSet );
@@ -201,8 +203,9 @@ class ScInputBarGroup : public ScTextWndBase
public:
ScInputBarGroup( vcl::Window* Parent, ScTabViewShell* pViewSh );
virtual ~ScInputBarGroup();
virtual void InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) SAL_OVERRIDE;
virtual void RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) SAL_OVERRIDE;
virtual void dispose() SAL_OVERRIDE;
virtual void InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) SAL_OVERRIDE;
virtual void RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) SAL_OVERRIDE;
// virtual void Paint(const Rectangle& rRect );
void SetTextString( const OUString& rString ) SAL_OVERRIDE;
void StartEditEngine() SAL_OVERRIDE;
@@ -217,16 +220,16 @@ public:
bool IsFocus();
void MakeDialogEditView() SAL_OVERRIDE;
bool IsInputActive() SAL_OVERRIDE;
ScrollBar& GetScrollBar() { return aScrollBar; }
ScrollBar& GetScrollBar() { return *aScrollBar.get(); }
void IncrementVerticalSize();
void DecrementVerticalSize();
long GetNumLines() { return aMultiTextWnd.GetNumLines(); }
long GetNumLines() { return aMultiTextWnd->GetNumLines(); }
long GetVertOffset() { return nVertOffset; }
private:
void TriggerToolboxLayout();
ScMultiTextWnd aMultiTextWnd;
ImageButton aButton;
ScrollBar aScrollBar;
VclPtr<ScMultiTextWnd> aMultiTextWnd;
VclPtr<ImageButton> aButton;
VclPtr<ScrollBar> aScrollBar;
long nVertOffset;
DECL_LINK( ClickHdl, void* );
DECL_LINK( Impl_ScrollHdl, void* );
@@ -238,6 +241,7 @@ class ScInputWindow : public ToolBox // Parent toolbox
public:
ScInputWindow( vcl::Window* pParent, SfxBindings* pBind );
virtual ~ScInputWindow();
virtual void dispose() SAL_OVERRIDE;
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
virtual void Resize() SAL_OVERRIDE;
@@ -284,7 +288,7 @@ protected:
bool UseSubTotal( ScRangeList* pRangeList ) const;
bool IsPointerAtResizePos();
private:
ScPosWnd aWndPos;
VclPtr<ScPosWnd> aWndPos;
std::unique_ptr<ScTextWndBase> pRuntimeWindow;
ScTextWndBase& aTextWindow;
ScInputHandler* pInputHdl;
diff --git a/sc/source/ui/inc/inscodlg.hxx b/sc/source/ui/inc/inscodlg.hxx
index 30f89fe..255cfac0 100644
--- a/sc/source/ui/inc/inscodlg.hxx
+++ b/sc/source/ui/inc/inscodlg.hxx
@@ -34,6 +34,7 @@ public:
InsertDeleteFlags nCheckDefaults = IDF_NONE,
const OUString* pStrTitle = NULL );
virtual ~ScInsertContentsDlg();
virtual void dispose() SAL_OVERRIDE;
InsertDeleteFlags GetInsContentsCmdBits() const;
sal_uInt16 GetFormulaCmdBits() const;
diff --git a/sc/source/ui/inc/instbdlg.hxx b/sc/source/ui/inc/instbdlg.hxx
index 7bc1dd5..ad03e94 100644
--- a/sc/source/ui/inc/instbdlg.hxx
+++ b/sc/source/ui/inc/instbdlg.hxx
@@ -44,6 +44,7 @@ class ScInsertTableDlg : public ModalDialog
public:
ScInsertTableDlg( vcl::Window* pParent, ScViewData& rViewData, SCTAB nTabCount, bool bFromFile );
virtual ~ScInsertTableDlg();
virtual void dispose() SAL_OVERRIDE;
virtual short Execute() SAL_OVERRIDE; // override to set parent dialog
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index cb586b9..fa3316f 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -123,6 +123,7 @@ public:
ScViewData* ptrViewData,
const ScAddress& aCursorPos, boost::ptr_map<OUString, ScRangeName>* pRangeMap = NULL );
virtual ~ScNameDlg();
virtual void dispose() SAL_OVERRIDE;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) SAL_OVERRIDE;
virtual bool IsRefInputMode() const SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/namepast.hxx b/sc/source/ui/inc/namepast.hxx
index 866ffc7..0ee6fa6 100644
--- a/sc/source/ui/inc/namepast.hxx
+++ b/sc/source/ui/inc/namepast.hxx
@@ -49,6 +49,7 @@ public:
ScNamePasteDlg( vcl::Window * pParent, ScDocShell* pShell, bool bInsList=true );
virtual ~ScNamePasteDlg();
virtual void dispose() SAL_OVERRIDE;
std::vector<OUString> GetSelectedNames() const;
};
diff --git a/sc/source/ui/inc/navipi.hxx b/sc/source/ui/inc/navipi.hxx
index f966fba..7e7fb92 100644
--- a/sc/source/ui/inc/navipi.hxx
+++ b/sc/source/ui/inc/navipi.hxx
@@ -97,10 +97,11 @@ class ScScenarioWindow : public vcl::Window
public:
ScScenarioWindow( vcl::Window* pParent, const OUString& aQH_List, const OUString& aQH_Comment);
virtual ~ScScenarioWindow();
virtual void dispose() SAL_OVERRIDE;
void NotifyState( const SfxPoolItem* pState );
void SetComment( const OUString& rComment )
{ aEdComment.SetText( rComment ); }
{ aEdComment->SetText( rComment ); }
void SetSizePixel( const Size& rNewSize ) SAL_OVERRIDE;
@@ -109,8 +110,8 @@ protected:
virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE;
private:
ScScenarioListBox aLbScenario;
MultiLineEdit aEdComment;
VclPtr<ScScenarioListBox> aLbScenario;
VclPtr<MultiLineEdit> aEdComment;
};
// class ColumnEdit
@@ -220,14 +221,14 @@ private:
SfxBindings& rBindings; // must be first member
ImageList aCmdImageList; // must be before aTbxCmd
FixedInfo aFtCol;
ColumnEdit aEdCol;
FixedInfo aFtRow;
RowEdit aEdRow;
CommandToolBox aTbxCmd;
ScContentTree aLbEntries;
ScScenarioWindow aWndScenarios;
ScDocListBox aLbDocuments;
VclPtr<FixedInfo> aFtCol;
VclPtr<ColumnEdit> aEdCol;
VclPtr<FixedInfo> aFtRow;
VclPtr<RowEdit> aEdRow;
VclPtr<CommandToolBox> aTbxCmd;
VclPtr<ScContentTree> aLbEntries;
VclPtr<ScScenarioWindow> aWndScenarios;
VclPtr<ScDocListBox> aLbDocuments;
Idle aContentIdle;
@@ -309,6 +310,7 @@ public:
ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl::Window* pParent,
const bool bUseStyleSettingsBackground);
virtual ~ScNavigatorDlg();
virtual void dispose() SAL_OVERRIDE;
using Window::Notify;
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/olinewin.hxx b/sc/source/ui/inc/olinewin.hxx
index 107447d..c95dffe 100644
--- a/sc/source/ui/inc/olinewin.hxx
+++ b/sc/source/ui/inc/olinewin.hxx
@@ -62,6 +62,7 @@ public:
ScViewData* pViewData,
ScSplitPos eWhich );
virtual ~ScOutlineWindow();
virtual void dispose() SAL_OVERRIDE;
/** Sets the size of the header area (width/height dep. on window type). */
void SetHeaderSize( long nNewSize );
diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx
index 55b3fa8..4253fa8 100644
--- a/sc/source/ui/inc/pfiltdlg.hxx
+++ b/sc/source/ui/inc/pfiltdlg.hxx
@@ -40,6 +40,7 @@ class ScPivotFilterDlg : public ModalDialog
public:
ScPivotFilterDlg(vcl::Window* pParent, const SfxItemSet& rArgSet, SCTAB nSourceTab);
virtual ~ScPivotFilterDlg();
virtual void dispose() SAL_OVERRIDE;
const ScQueryItem& GetOutputItem();
diff --git a/sc/source/ui/inc/preview.hxx b/sc/source/ui/inc/preview.hxx
index bcf4fbc..7be36eec 100644
--- a/sc/source/ui/inc/preview.hxx
+++ b/sc/source/ui/inc/preview.hxx
@@ -118,6 +118,7 @@ protected:
public:
ScPreview( vcl::Window* pParent, ScDocShell* pDocSh, ScPreviewShell* pViewSh );
virtual ~ScPreview();
virtual void dispose() SAL_OVERRIDE;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
diff --git a/sc/source/ui/inc/scuiasciiopt.hxx b/sc/source/ui/inc/scuiasciiopt.hxx
index 646e4ef..ed01e23b 100644
--- a/sc/source/ui/inc/scuiasciiopt.hxx
+++ b/sc/source/ui/inc/scuiasciiopt.hxx
@@ -80,6 +80,7 @@ public:
vcl::Window* pParent, const OUString& aDatName,
SvStream* pInStream, ScImportAsciiCall eCall );
virtual ~ScImportAsciiDlg();
virtual void dispose() SAL_OVERRIDE;
void GetOptions( ScAsciiOptions& rOpt );
void SaveParameters();
diff --git a/sc/source/ui/inc/scuiimoptdlg.hxx b/sc/source/ui/inc/scuiimoptdlg.hxx
index adb8f20..95ca0cf 100644
--- a/sc/source/ui/inc/scuiimoptdlg.hxx
+++ b/sc/source/ui/inc/scuiimoptdlg.hxx
@@ -37,6 +37,7 @@ public:
bool bImport = true );
virtual ~ScImportOptionsDlg();
virtual void dispose() SAL_OVERRIDE;
void GetImportOptions( ScImportOptions& rOptions ) const;
diff --git a/sc/source/ui/inc/searchresults.hxx b/sc/source/ui/inc/searchresults.hxx
index 437d90a..5c69ab7 100644
--- a/sc/source/ui/inc/searchresults.hxx
+++ b/sc/source/ui/inc/searchresults.hxx
@@ -29,6 +29,7 @@ class SearchResultsDlg : public ModelessDialog
public:
SearchResultsDlg( SfxBindings* _pBindings, vcl::Window* pParent, sal_uInt16 nId );
virtual ~SearchResultsDlg();
virtual void dispose() SAL_OVERRIDE;
void FillResults( ScDocument* pDoc, const ScRangeList& rMatchedRanges );
diff --git a/sc/source/ui/inc/sharedocdlg.hxx b/sc/source/ui/inc/sharedocdlg.hxx
index f8d746f..8356d0e 100644
--- a/sc/source/ui/inc/sharedocdlg.hxx
+++ b/sc/source/ui/inc/sharedocdlg.hxx
@@ -49,6 +49,7 @@ private:
public:
ScShareDocumentDlg( vcl::Window* pParent, ScViewData* pViewData );
virtual ~ScShareDocumentDlg();
virtual void dispose() SAL_OVERRIDE;
bool IsShareDocumentChecked() const;
void UpdateView();
diff --git a/sc/source/ui/inc/solveroptions.hxx b/sc/source/ui/inc/solveroptions.hxx
index eb03c6e..31607f4 100644
--- a/sc/source/ui/inc/solveroptions.hxx
+++ b/sc/source/ui/inc/solveroptions.hxx
@@ -61,6 +61,7 @@ public:
const OUString& rEngine,
const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& rProperties );
virtual ~ScSolverOptionsDialog();
virtual void dispose() SAL_OVERRIDE;
// already updated in selection handler
const OUString& GetEngine() const { return maEngine; }
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
index 8d6010a..4de0a1f 100644
--- a/sc/source/ui/inc/tabview.hxx
+++ b/sc/source/ui/inc/tabview.hxx
@@ -112,13 +112,13 @@ private:
ScTabSplitter* pHSplitter;
ScTabSplitter* pVSplitter;
ScTabControl* pTabControl;
ScrollBar aVScrollTop;
ScrollBar aVScrollBottom; // initially visible
ScrollBar aHScrollLeft; // initially visible
ScrollBar aHScrollRight;
ScCornerButton aCornerButton;
ScCornerButton aTopButton;
ScrollBarBox aScrollBarBox;
VclPtr<ScrollBar> aVScrollTop;
VclPtr<ScrollBar> aVScrollBottom; // initially visible
VclPtr<ScrollBar> aHScrollLeft; // initially visible
VclPtr<ScrollBar> aHScrollRight;
VclPtr<ScCornerButton> aCornerButton;
VclPtr<ScCornerButton> aTopButton;
VclPtr<ScrollBarBox> aScrollBarBox;
boost::scoped_ptr<ScHintWindow> mpInputHintWindow; // popup window for data validation
diff --git a/sc/source/ui/inc/tbzoomsliderctrl.hxx b/sc/source/ui/inc/tbzoomsliderctrl.hxx
index d2c6cbc..442202d 100644
--- a/sc/source/ui/inc/tbzoomsliderctrl.hxx
+++ b/sc/source/ui/inc/tbzoomsliderctrl.hxx
@@ -54,6 +54,7 @@ public:
ScZoomSliderWnd( vcl::Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProvider >& rDispatchProvider,
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _xFrame , sal_uInt16 nCurrentZoom );
virtual ~ScZoomSliderWnd();
virtual void dispose() SAL_OVERRIDE;
void UpdateFromItem( const SvxZoomSliderItem* pZoomSliderItem );
protected:
diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx
index 629eb73..9727b1c 100644
--- a/sc/source/ui/inc/tpcalc.hxx
+++ b/sc/source/ui/inc/tpcalc.hxx
@@ -43,6 +43,7 @@ private:
ScTpCalcOptions( vcl::Window* pParent,
const SfxItemSet& rCoreSet );
virtual ~ScTpCalcOptions();
virtual void dispose() SAL_OVERRIDE;
private:
CheckBox* m_pBtnIterate;
diff --git a/sc/source/ui/inc/tphfedit.hxx b/sc/source/ui/inc/tphfedit.hxx
index f6c2181..8a392d1 100644
--- a/sc/source/ui/inc/tphfedit.hxx
+++ b/sc/source/ui/inc/tphfedit.hxx
@@ -55,6 +55,7 @@ class SC_DLLPUBLIC ScEditWindow : public Control
public:
ScEditWindow( vcl::Window* pParent, WinBits nBits , ScEditWindowLocation eLoc );
virtual ~ScEditWindow();
virtual void dispose() SAL_OVERRIDE;
using Control::SetFont;
void SetFont( const ScPatternAttr& rPattern );
diff --git a/sc/source/ui/inc/tpsort.hxx b/sc/source/ui/inc/tpsort.hxx
index 8eaf1ec..6994439 100644
--- a/sc/source/ui/inc/tpsort.hxx
+++ b/sc/source/ui/inc/tpsort.hxx
@@ -109,6 +109,7 @@ public:
ScTabPageSortOptions( vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScTabPageSortOptions();
virtual void dispose() SAL_OVERRIDE;
#undef SfxTabPage
#define SfxTabPage ::SfxTabPage
diff --git a/sc/source/ui/inc/tpsubt.hxx b/sc/source/ui/inc/tpsubt.hxx
index ffff1e0..daf0f53 100644
--- a/sc/source/ui/inc/tpsubt.hxx
+++ b/sc/source/ui/inc/tpsubt.hxx
@@ -41,6 +41,7 @@ protected:
public:
virtual ~ScTpSubTotalGroup();
virtual void dispose() SAL_OVERRIDE;
bool DoReset ( sal_uInt16 nGroupNo,
const SfxItemSet& rArgSet );
diff --git a/sc/source/ui/inc/tpusrlst.hxx b/sc/source/ui/inc/tpusrlst.hxx
index 5e84d88..fa0a154 100644
--- a/sc/source/ui/inc/tpusrlst.hxx
+++ b/sc/source/ui/inc/tpusrlst.hxx
@@ -44,6 +44,7 @@ private:
ScTpUserLists( vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScTpUserLists();
virtual void dispose() SAL_OVERRIDE;
private:
FixedText* mpFtLists;
diff --git a/sc/source/ui/inc/tpview.hxx b/sc/source/ui/inc/tpview.hxx
index e426d9c..50981d1 100644
--- a/sc/source/ui/inc/tpview.hxx
+++ b/sc/source/ui/inc/tpview.hxx
@@ -67,6 +67,7 @@ class ScTpContentOptions : public SfxTabPage
ScTpContentOptions( vcl::Window* pParent,
const SfxItemSet& rArgSet );
virtual ~ScTpContentOptions();
virtual void dispose() SAL_OVERRIDE;
public:
static SfxTabPage* Create ( vcl::Window* pParent,
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index ebc6d92..4da82e8 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -185,10 +185,12 @@ class ScValidationDlg
public:
explicit ScValidationDlg( vcl::Window* pParent, const SfxItemSet* pArgSet, ScTabViewShell * pTabViewSh, SfxBindings *pB = NULL );
virtual ~ScValidationDlg()
virtual ~ScValidationDlg() { dispose(); }
virtual void dispose() SAL_OVERRIDE
{
if( m_bOwnRefHdlr )
RemoveRefDlg( false );
ScRefHdlrImpl<ScValidationDlg, SfxTabDialog, false>::dispose();
}
static ScValidationDlg * Find1AliveObject( vcl::Window *pAncestor )
{
diff --git a/sc/source/ui/miscdlgs/acredlin.cxx b/sc/source/ui/miscdlgs/acredlin.cxx
index 7636379..1e6b481 100644
--- a/sc/source/ui/miscdlgs/acredlin.cxx
+++ b/sc/source/ui/miscdlgs/acredlin.cxx
@@ -154,6 +154,11 @@ ScAcceptChgDlg::ScAcceptChgDlg(SfxBindings* pB, SfxChildWindow* pCW, vcl::Window
ScAcceptChgDlg::~ScAcceptChgDlg()
{
dispose();
}
void ScAcceptChgDlg::dispose()
{
ClearView();
ScChangeTrack* pChanges=pDoc->GetChangeTrack();
@@ -164,6 +169,7 @@ ScAcceptChgDlg::~ScAcceptChgDlg()
}
delete m_pAcceptChgCtr;
SfxModelessDialog::dispose();
}
void ScAcceptChgDlg::ReInit(ScViewData* ptrViewData)
diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx
index ffd54c8..5d2899e 100644
--- a/sc/source/ui/miscdlgs/autofmt.cxx
+++ b/sc/source/ui/miscdlgs/autofmt.cxx
@@ -90,7 +90,13 @@ void ScAutoFmtPreview::Resize()
ScAutoFmtPreview::~ScAutoFmtPreview()
{
dispose();
}
void ScAutoFmtPreview::dispose()
{
delete pNumFmt;
vcl::Window::dispose();
}
static void lcl_SetFontProperties(
diff --git a/sc/source/ui/miscdlgs/highred.cxx b/sc/source/ui/miscdlgs/highred.cxx
index bddfdef..c0b7094 100644
--- a/sc/source/ui/miscdlgs/highred.cxx
+++ b/sc/source/ui/miscdlgs/highred.cxx
@@ -69,8 +69,14 @@ ScHighlightChgDlg::ScHighlightChgDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl:
ScHighlightChgDlg::~ScHighlightChgDlg()
{
dispose();
}
void ScHighlightChgDlg::dispose()
{
SetDispatcherLock( false );
delete m_pFilterCtr;
ScAnyRefDlg::dispose();
}
void ScHighlightChgDlg::Init()
diff --git a/sc/source/ui/miscdlgs/inscodlg.cxx b/sc/source/ui/miscdlgs/inscodlg.cxx
index 75e5bac..30ec894 100644
--- a/sc/source/ui/miscdlgs/inscodlg.cxx
+++ b/sc/source/ui/miscdlgs/inscodlg.cxx
@@ -361,6 +361,11 @@ IMPL_LINK_NOARG(ScInsertContentsDlg, LinkBtnHdl)
ScInsertContentsDlg::~ScInsertContentsDlg()
{
dispose();
}
void ScInsertContentsDlg::dispose()
{
ScInsertContentsDlg::nPreviousChecks2 = 0;
if(mpBtnSkipEmptyCells->IsChecked())
ScInsertContentsDlg::nPreviousChecks2 |= INS_CONT_NOEMPTY;
@@ -378,6 +383,7 @@ ScInsertContentsDlg::~ScInsertContentsDlg()
else if ( mpRbMoveRight->IsChecked() )
ScInsertContentsDlg::nPreviousMoveMode = INS_CELLSRIGHT;
}
ModalDialog::dispose();
}
sal_uInt16 ScInsertContentsDlg::GetFormulaCmdBits() const
diff --git a/sc/source/ui/miscdlgs/instbdlg.cxx b/sc/source/ui/miscdlgs/instbdlg.cxx
index eda2e79..a596385 100644
--- a/sc/source/ui/miscdlgs/instbdlg.cxx
+++ b/sc/source/ui/miscdlgs/instbdlg.cxx
@@ -64,9 +64,15 @@ ScInsertTableDlg::ScInsertTableDlg( vcl::Window* pParent, ScViewData& rData, SCT
ScInsertTableDlg::~ScInsertTableDlg()
{
dispose();
}
void ScInsertTableDlg::dispose()
{
if (pDocShTables)
pDocShTables->DoClose();
delete pDocInserter;
ModalDialog::dispose();
}
void ScInsertTableDlg::Init_Impl( bool bFromFile )
diff --git a/sc/source/ui/miscdlgs/sharedocdlg.cxx b/sc/source/ui/miscdlgs/sharedocdlg.cxx
index d934ff7..3bfb5d9 100644
--- a/sc/source/ui/miscdlgs/sharedocdlg.cxx
+++ b/sc/source/ui/miscdlgs/sharedocdlg.cxx
@@ -108,7 +108,13 @@ ScShareDocumentDlg::ScShareDocumentDlg( vcl::Window* pParent, ScViewData* pViewD
ScShareDocumentDlg::~ScShareDocumentDlg()
{
dispose();
}
void ScShareDocumentDlg::dispose()
{
delete m_pLbUsers;
ModalDialog::dispose();
}
IMPL_LINK_NOARG(ScShareDocumentDlg, ToggleHandle)
diff --git a/sc/source/ui/miscdlgs/solveroptions.cxx b/sc/source/ui/miscdlgs/solveroptions.cxx
index 307bc67..b23c275 100644
--- a/sc/source/ui/miscdlgs/solveroptions.cxx
+++ b/sc/source/ui/miscdlgs/solveroptions.cxx
@@ -159,7 +159,13 @@ ScSolverOptionsDialog::ScSolverOptionsDialog( vcl::Window* pParent,
ScSolverOptionsDialog::~ScSolverOptionsDialog()
{
dispose();
}
void ScSolverOptionsDialog::dispose()
{
delete mpCheckButtonData;
ModalDialog::dispose();
}
const uno::Sequence<beans::PropertyValue>& ScSolverOptionsDialog::GetProperties()
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index 6cc2afc..abf323d 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -102,7 +102,13 @@ ScNameDlg::ScNameDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent
ScNameDlg::~ScNameDlg()
{
dispose();
}
void ScNameDlg::dispose()
{
delete m_pRangeManagerTable;
ScAnyRefDlg::dispose();
}
void ScNameDlg::Init()
diff --git a/sc/source/ui/namedlg/namepast.cxx b/sc/source/ui/namedlg/namepast.cxx
index 8417815..f508d32e 100644
--- a/sc/source/ui/namedlg/namepast.cxx
+++ b/sc/source/ui/namedlg/namepast.cxx
@@ -65,7 +65,13 @@ ScNamePasteDlg::ScNamePasteDlg( vcl::Window * pParent, ScDocShell* pShell, bool
ScNamePasteDlg::~ScNamePasteDlg()
{
dispose();
}
void ScNamePasteDlg::dispose()
{
delete mpTable;
ModalDialog::dispose();
}
IMPL_LINK( ScNamePasteDlg, ButtonHdl, Button *, pButton )
diff --git a/sc/source/ui/navipi/navcitem.cxx b/sc/source/ui/navipi/navcitem.cxx
index 5b64b02..ef981c9 100644
--- a/sc/source/ui/navipi/navcitem.cxx
+++ b/sc/source/ui/navipi/navcitem.cxx
@@ -88,7 +88,7 @@ void ScNavigatorControllerItem::StateChanged( sal_uInt16 /* nSID */, SfxItemStat
break;
case SID_SELECT_SCENARIO:
rNavigatorDlg.aWndScenarios.NotifyState( pItem );
rNavigatorDlg.aWndScenarios->NotifyState( pItem );
break;
default:
diff --git a/sc/source/ui/navipi/navipi.cxx b/sc/source/ui/navipi/navipi.cxx
index 1a61783..8861741 100644
--- a/sc/source/ui/navipi/navipi.cxx
+++ b/sc/source/ui/navipi/navipi.cxx
@@ -174,7 +174,7 @@ void ColumnEdit::EvalText()
void ColumnEdit::ExecuteCol()
{
SCROW nRow = rDlg.aEdRow.GetRow();
SCROW nRow = rDlg.aEdRow->GetRow();
EvalText(); // setzt nCol
@@ -285,7 +285,7 @@ void RowEdit::LoseFocus()
void RowEdit::ExecuteRow()
{
SCCOL nCol = rDlg.aEdCol.GetCol();
SCCOL nCol = rDlg.aEdCol->GetCol();
SCROW nRow = (SCROW)GetValue();
if ( (nCol > 0) && (nRow > 0) )
@@ -309,7 +309,7 @@ void ScDocListBox::Select()
ScNavigatorDlg::ReleaseFocus();
OUString aDocName = GetSelectEntry();
rDlg.aLbEntries.SelectDoc( aDocName );
rDlg.aLbEntries->SelectDoc( aDocName );
}
// class CommandToolBox
@@ -368,7 +368,7 @@ void CommandToolBox::Select( sal_uInt16 nSelId )
rDlg.EndOfDataArea();
break;
case IID_CHANGEROOT:
rDlg.aLbEntries.ToggleRoot();
rDlg.aLbEntries->ToggleRoot();
UpdateButtons();
break;
}
@@ -424,7 +424,7 @@ void CommandToolBox::UpdateButtons()
else
{
EnableItem( IID_CHANGEROOT, true );
bool bRootSet = rDlg.aLbEntries.GetRootType() != SC_CONTENT_ROOT;
bool bRootSet = rDlg.aLbEntries->GetRootType() != SC_CONTENT_ROOT;
CheckItem( IID_CHANGEROOT, bRootSet );
}
@@ -531,7 +531,7 @@ ScNavigatorDialogWrapper::ScNavigatorDialogWrapper(
}
if (nCmdId)
{
pNavigator->aTbxCmd.CheckItem( nCmdId );
pNavigator->aTbxCmd->CheckItem( nCmdId );
pNavigator->DoResize();
}
@@ -555,14 +555,14 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
Window( pParent, ScResId(RID_SCDLG_NAVIGATOR) ),
rBindings ( *pB ), // is used in CommandToolBox ctor
aCmdImageList( ScResId( IL_CMD ) ),
aFtCol ( this, ScResId( FT_COL ) ),
aEdCol ( this, ScResId( ED_COL ) ),
aFtRow ( this, ScResId( FT_ROW ) ),
aEdRow ( this, ScResId( ED_ROW ) ),
aTbxCmd ( this, ScResId( TBX_CMD ) ),
aLbEntries ( this, ScResId( LB_ENTRIES ) ),
aWndScenarios( this,ScResId( STR_QHLP_SCEN_LISTBOX), ScResId(STR_QHLP_SCEN_COMMENT)),
aLbDocuments( this, ScResId( LB_DOCUMENTS ) ),
aFtCol ( new FixedInfo( this, ScResId( FT_COL ) ) ),
aEdCol ( new ColumnEdit( this, ScResId( ED_COL ) ) ),
aFtRow ( new FixedInfo( this, ScResId( FT_ROW ) ) ),
aEdRow ( new RowEdit( this, ScResId( ED_ROW ) ) ),
aTbxCmd ( new CommandToolBox( this, ScResId( TBX_CMD ) ) ),
aLbEntries ( new ScContentTree( this, ScResId( LB_ENTRIES ) ) ),
aWndScenarios( new ScScenarioWindow( this,ScResId( STR_QHLP_SCEN_LISTBOX), ScResId(STR_QHLP_SCEN_COMMENT)) ),
aLbDocuments( new ScDocListBox( this, ScResId( LB_DOCUMENTS ) ) ),
aStrDragMode ( ScResId( STR_DRAGMODE ) ),
aStrDisplay ( ScResId( STR_DISPLAY ) ),
aStrActiveWin( ScResId( STR_ACTIVEWIN ) ),
@@ -583,7 +583,7 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
nDropMode = rCfg.GetDragMode();
// eListMode is set from outside, Root further below
aLbDocuments.SetDropDownLineCount(9);
aLbDocuments->SetDropDownLineCount(9);
OUString aOpen(" (");
aStrActive = aOpen;
aStrActive += OUString( ScResId( STR_ACTIVE ) );
@@ -599,19 +599,19 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
const long nListboxYPos =
::std::max(
(aTbxCmd.GetPosPixel().Y() + aTbxCmd.GetSizePixel().Height()),
(aEdRow.GetPosPixel().Y() + aEdRow.GetSizePixel().Height()) )
(aTbxCmd->GetPosPixel().Y() + aTbxCmd->GetSizePixel().Height()),
(aEdRow->GetPosPixel().Y() + aEdRow->GetSizePixel().Height()) )
+ 4;
aLbEntries.setPosSizePixel( 0, nListboxYPos, 0, 0, WINDOW_POSSIZE_Y);
aLbEntries->setPosSizePixel( 0, nListboxYPos, 0, 0, WINDOW_POSSIZE_Y);
nBorderOffset = aLbEntries.GetPosPixel().X();
nBorderOffset = aLbEntries->GetPosPixel().X();
aInitSize.Width() = aTbxCmd.GetPosPixel().X()
+ aTbxCmd.GetSizePixel().Width()
aInitSize.Width() = aTbxCmd->GetPosPixel().X()
+ aTbxCmd->GetSizePixel().Width()
+ nBorderOffset;
aInitSize.Height() = aLbEntries.GetPosPixel().Y();
aInitSize.Height() = aLbEntries->GetPosPixel().Y();
nInitListHeight = aLbEntries.GetSizePixel().Height();
nInitListHeight = aLbEntries->GetSizePixel().Height();
nListModeHeight = aInitSize.Height()
+ nInitListHeight;
@@ -629,41 +629,41 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
StartListening( *(SfxGetpApp()) );
StartListening( rBindings );
aLbDocuments.Hide(); // does not exist at NAV_LMODE_NONE
aLbDocuments->Hide(); // does not exist at NAV_LMODE_NONE
aLbEntries.InitWindowBits(true);
aLbEntries->InitWindowBits(true);
aLbEntries.SetSpaceBetweenEntries(0);
aLbEntries.SetSelectionMode( SINGLE_SELECTION );
aLbEntries.SetDragDropMode( SV_DRAGDROP_CTRL_MOVE |
aLbEntries->SetSpaceBetweenEntries(0);
aLbEntries->SetSelectionMode( SINGLE_SELECTION );
aLbEntries->SetDragDropMode( SV_DRAGDROP_CTRL_MOVE |
SV_DRAGDROP_CTRL_COPY |
SV_DRAGDROP_ENABLE_TOP );
// was a category chosen as root?
sal_uInt16 nLastRoot = rCfg.GetRootType();
if ( nLastRoot )
aLbEntries.SetRootType( nLastRoot );
aLbEntries->SetRootType( nLastRoot );
aLbEntries.Refresh();
aLbEntries->Refresh();
GetDocNames();
aTbxCmd.UpdateButtons();
aTbxCmd->UpdateButtons();
UpdateColumn();
UpdateRow();
UpdateTable();
aLbEntries.Hide();
aWndScenarios.Hide();
aWndScenarios.SetPosPixel( aLbEntries.GetPosPixel() );
aLbEntries->Hide();
aWndScenarios->Hide();
aWndScenarios->SetPosPixel( aLbEntries->GetPosPixel() );
aContentIdle.SetIdleHdl( LINK( this, ScNavigatorDlg, TimeHdl ) );
aContentIdle.SetPriority( SchedulerPriority::LOWEST );
FreeResource();
aLbEntries.SetAccessibleRelationLabeledBy(&aLbEntries);
aTbxCmd.SetAccessibleRelationLabeledBy(&aTbxCmd);
aLbDocuments.SetAccessibleName(aStrActiveWin);
aLbEntries->SetAccessibleRelationLabeledBy(aLbEntries.get());
aTbxCmd->SetAccessibleRelationLabeledBy(aTbxCmd.get());
aLbDocuments->SetAccessibleName(aStrActiveWin);
if (pContextWin == NULL)
{
@@ -671,14 +671,19 @@ ScNavigatorDlg::ScNavigatorDlg( SfxBindings* pB, SfxChildWindowContext* pCW, vcl
// displayed in the sidebar and has the whole deck to fill.
// Therefore hide the button that hides all controls below the
// top two rows of buttons.
aTbxCmd.Select(IID_ZOOMOUT);
aTbxCmd.RemoveItem(aTbxCmd.GetItemPos(IID_ZOOMOUT));
aTbxCmd->Select(IID_ZOOMOUT);
aTbxCmd->RemoveItem(aTbxCmd->GetItemPos(IID_ZOOMOUT));
}
aLbEntries.SetNavigatorDlgFlag(true);
aLbEntries->SetNavigatorDlgFlag(true);
}
ScNavigatorDlg::~ScNavigatorDlg()
{
dispose();
}
void ScNavigatorDlg::dispose()
{
aContentIdle.Stop();
sal_uInt16 i;
@@ -690,6 +695,16 @@ ScNavigatorDlg::~ScNavigatorDlg()
EndListening( *(SfxGetpApp()) );
EndListening( rBindings );
aFtCol.disposeAndClear();
aEdCol.disposeAndClear();
aFtRow.disposeAndClear();
aEdRow.disposeAndClear();
aTbxCmd.disposeAndClear();
aLbEntries.disposeAndClear();
aWndScenarios.disposeAndClear();
aLbDocuments.disposeAndClear();
vcl::Window::dispose();
}
void ScNavigatorDlg::Resizing( Size& rNewSize ) // Size = Outputsize?
@@ -721,13 +736,13 @@ void ScNavigatorDlg::Paint( const Rectangle& rRect )
Wallpaper aBack( aBgColor );
SetBackground( aBack );
aFtCol.SetBackground( aBack );
aFtRow.SetBackground( aBack );
aFtCol->SetBackground( aBack );
aFtRow->SetBackground( aBack );
}
else
{
aFtCol.SetBackground(Wallpaper());
aFtRow.SetBackground(Wallpaper());
aFtCol->SetBackground(Wallpaper());
aFtRow->SetBackground(Wallpaper());
}
Window::Paint( rRect );
@@ -774,28 +789,28 @@ void ScNavigatorDlg::DoResize()
// even if the content is not visible, adapt the size,
// so the width fit
Point aEntryPos = aLbEntries.GetPosPixel();
Point aListPos = aLbDocuments.GetPosPixel();
Point aEntryPos = aLbEntries->GetPosPixel();
Point aListPos = aLbDocuments->GetPosPixel();
aNewSize.Width() -= 2*nBorderOffset;
Size aDocSize = aLbDocuments.GetSizePixel();
Size aDocSize = aLbDocuments->GetSizePixel();
aDocSize.Width() = aNewSize.Width();
if(!bSmall)
{
long nListHeight = aLbDocuments.GetSizePixel().Height();
long nListHeight = aLbDocuments->GetSizePixel().Height();
aNewSize.Height() -= ( aEntryPos.Y() + nListHeight + 2*nBorderOffset );
if(aNewSize.Height()<0) aNewSize.Height()=0;
aListPos.Y() = aEntryPos.Y() + aNewSize.Height() + nBorderOffset;
if(aListPos.Y() > aLbEntries.GetPosPixel().Y())
aLbDocuments.SetPosPixel( aListPos );
if(aListPos.Y() > aLbEntries->GetPosPixel().Y())
aLbDocuments->SetPosPixel( aListPos );
}
aLbEntries.SetSizePixel( aNewSize );
aWndScenarios.SetSizePixel( aNewSize );
aLbDocuments.SetSizePixel( aDocSize );
aLbEntries->SetSizePixel( aNewSize );
aWndScenarios->SetSizePixel( aNewSize );
aLbDocuments->SetSizePixel( aDocSize );
bool bListMode = (eListMode != NAV_LMODE_NONE);
if (pContextWin != NULL)
@@ -815,7 +830,7 @@ void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
if ( nHintId == SC_HINT_DOCNAME_CHANGED )
{
aLbEntries.ActiveDocChanged();
aLbEntries->ActiveDocChanged();
}
else if ( NAV_LMODE_NONE == eListMode )
{
@@ -826,25 +841,25 @@ void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
switch ( nHintId )
{
case SC_HINT_TABLES_CHANGED:
aLbEntries.Refresh( SC_CONTENT_TABLE );
aLbEntries->Refresh( SC_CONTENT_TABLE );
break;
case SC_HINT_DBAREAS_CHANGED:
aLbEntries.Refresh( SC_CONTENT_DBAREA );
aLbEntries->Refresh( SC_CONTENT_DBAREA );
break;
case SC_HINT_AREAS_CHANGED:
aLbEntries.Refresh( SC_CONTENT_RANGENAME );
aLbEntries->Refresh( SC_CONTENT_RANGENAME );
break;
case SC_HINT_DRAW_CHANGED:
aLbEntries.Refresh( SC_CONTENT_GRAPHIC );
aLbEntries.Refresh( SC_CONTENT_OLEOBJECT );
aLbEntries.Refresh( SC_CONTENT_DRAWING );
aLbEntries->Refresh( SC_CONTENT_GRAPHIC );
aLbEntries->Refresh( SC_CONTENT_OLEOBJECT );
aLbEntries->Refresh( SC_CONTENT_DRAWING );
break;
case SC_HINT_AREALINKS_CHANGED:
aLbEntries.Refresh( SC_CONTENT_AREALINK );
aLbEntries->Refresh( SC_CONTENT_AREALINK );
break;
// SFX_HINT_DOCCHANGED not only at document change
@@ -858,9 +873,9 @@ void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
aContentIdle.Start(); // Do not search notes immediately
break;
case FID_KILLEDITVIEW:
aLbEntries.ObjectFresh( SC_CONTENT_OLEOBJECT );
aLbEntries.ObjectFresh( SC_CONTENT_DRAWING );
aLbEntries.ObjectFresh( SC_CONTENT_GRAPHIC );
aLbEntries->ObjectFresh( SC_CONTENT_OLEOBJECT );
aLbEntries->ObjectFresh( SC_CONTENT_DRAWING );
aLbEntries->ObjectFresh( SC_CONTENT_GRAPHIC );
break;
default:
break;
@@ -872,7 +887,7 @@ void ScNavigatorDlg::Notify( SfxBroadcaster&, const SfxHint& rHint )
sal_uLong nEventId = static_cast<const SfxEventHint&>(rHint).GetEventId();
if ( nEventId == SFX_EVENT_ACTIVATEDOC )
{
aLbEntries.ActiveDocChanged();
aLbEntries->ActiveDocChanged();
UpdateAll();
}
}
@@ -883,14 +898,14 @@ IMPL_LINK( ScNavigatorDlg, TimeHdl, Idle*, pIdle )
if ( pIdle != &aContentIdle )
return 0;
aLbEntries.Refresh( SC_CONTENT_NOTE );
aLbEntries->Refresh( SC_CONTENT_NOTE );
return 0;
}
void ScNavigatorDlg::SetDropMode(sal_uInt16 nNew)
{
nDropMode = nNew;
aTbxCmd.UpdateButtons();
aTbxCmd->UpdateButtons();
ScNavipiCfg& rCfg = SC_MOD()->GetNavipiCfg();
rCfg.SetDragMode(nDropMode);
@@ -1008,7 +1023,7 @@ void ScNavigatorDlg::UpdateColumn( const SCCOL* pCol )
else if ( GetViewData() )
nCurCol = pViewData->GetCurX() + 1;
aEdCol.SetCol( nCurCol );
aEdCol->SetCol( nCurCol );
CheckDataArea();
}
@@ -1019,7 +1034,7 @@ void ScNavigatorDlg::UpdateRow( const SCROW* pRow )
else if ( GetViewData() )
nCurRow = pViewData->GetCurY() + 1;
aEdRow.SetRow( nCurRow );
aEdRow->SetRow( nCurRow );
CheckDataArea();
}
@@ -1040,7 +1055,7 @@ void ScNavigatorDlg::UpdateAll()
case NAV_LMODE_DOCS:
case NAV_LMODE_DBAREAS:
case NAV_LMODE_AREAS:
aLbEntries.Refresh();
aLbEntries->Refresh();
break;
case NAV_LMODE_NONE:
@@ -1072,7 +1087,7 @@ void ScNavigatorDlg::SetListMode( NavListMode eMode, bool bSetSize )
case NAV_LMODE_AREAS:
case NAV_LMODE_DBAREAS:
case NAV_LMODE_DOCS:
aLbEntries.Refresh();
aLbEntries->Refresh();
ShowList( true, bSetSize );
break;
@@ -1081,7 +1096,7 @@ void ScNavigatorDlg::SetListMode( NavListMode eMode, bool bSetSize )
break;
}
aTbxCmd.UpdateButtons();
aTbxCmd->UpdateButtons();
if ( eMode != NAV_LMODE_NONE )
{
@@ -1107,8 +1122,8 @@ void ScNavigatorDlg::ShowList( bool bShow, bool bSetSize )
if ( pFloat )
pFloat->SetMinOutputSizePixel( aMinSize );
aSize.Height() = nListModeHeight;
aLbEntries.Show();
aLbDocuments.Show();
aLbEntries->Show();
aLbDocuments->Show();
}
else
{
@@ -1118,10 +1133,10 @@ void ScNavigatorDlg::ShowList( bool bShow, bool bSetSize )
nListModeHeight = aSize.Height();
}
aSize.Height() = aInitSize.Height();
aLbEntries.Hide();
aLbDocuments.Hide();
aLbEntries->Hide();
aLbDocuments->Hide();
}
aWndScenarios.Hide();
aWndScenarios->Hide();
if ( pFloat )
{
@@ -1156,8 +1171,8 @@ void ScNavigatorDlg::ShowScenarios( bool bShow, bool bSetSize )
rBindings.Invalidate( SID_SELECT_SCENARIO );
rBindings.Update( SID_SELECT_SCENARIO );
aWndScenarios.Show();
aLbDocuments.Show();
aWndScenarios->Show();
aLbDocuments->Show();
}
else
{
@@ -1167,10 +1182,10 @@ void ScNavigatorDlg::ShowScenarios( bool bShow, bool bSetSize )
nListModeHeight = aSize.Height();
}
aSize.Height() = aInitSize.Height();
aWndScenarios.Hide();
aLbDocuments.Hide();
aWndScenarios->Hide();
aLbDocuments->Hide();
}
aLbEntries.Hide();
aLbEntries->Hide();
if ( pFloat )
{
@@ -1190,8 +1205,8 @@ void ScNavigatorDlg::ShowScenarios( bool bShow, bool bSetSize )
void ScNavigatorDlg::GetDocNames( const OUString* pManualSel )
{
aLbDocuments.Clear();
aLbDocuments.SetUpdateMode( false );
aLbDocuments->Clear();
aLbDocuments->SetUpdateMode( false );
ScDocShell* pCurrentSh = PTR_CAST( ScDocShell, SfxObjectShell::Current() );
@@ -1207,7 +1222,7 @@ void ScNavigatorDlg::GetDocNames( const OUString* pManualSel )
aEntry += aStrActive;
else
aEntry += aStrNotActive;
aLbDocuments.InsertEntry( aEntry );
aLbDocuments->InsertEntry( aEntry );
if ( pManualSel ? ( aName == *pManualSel )
: ( pSh == pCurrentSh ) )
@@ -1217,22 +1232,22 @@ void ScNavigatorDlg::GetDocNames( const OUString* pManualSel )
pSh = SfxObjectShell::GetNext( *pSh );
}
aLbDocuments.InsertEntry( aStrActiveWin );
aLbDocuments->InsertEntry( aStrActiveWin );
OUString aHidden = aLbEntries.GetHiddenTitle();
OUString aHidden = aLbEntries->GetHiddenTitle();
if (!aHidden.isEmpty())
{
OUString aEntry = aHidden;
aEntry += aStrHidden;
aLbDocuments.InsertEntry( aEntry );
aLbDocuments->InsertEntry( aEntry );
if ( pManualSel && aHidden == *pManualSel )
aSelEntry = aEntry;
}
aLbDocuments.SetUpdateMode( true );
aLbDocuments->SetUpdateMode( true );
aLbDocuments.SelectEntry( aSelEntry );
aLbDocuments->SelectEntry( aSelEntry );
}
void ScNavigatorDlg::MarkDataArea()
@@ -1268,7 +1283,7 @@ void ScNavigatorDlg::UnmarkDataArea()
void ScNavigatorDlg::CheckDataArea()
{
if ( aTbxCmd.IsItemChecked( IID_DATA ) && pMarkArea )
if ( aTbxCmd->IsItemChecked( IID_DATA ) && pMarkArea )
{
if ( nCurTab != pMarkArea->nTab
|| nCurCol < pMarkArea->nColStart+1
@@ -1276,8 +1291,8 @@ void ScNavigatorDlg::CheckDataArea()
|| nCurRow < pMarkArea->nRowStart+1
|| nCurRow > pMarkArea->nRowEnd+1 )
{
aTbxCmd.SetItemState( IID_DATA, TriState(TRISTATE_TRUE) );
aTbxCmd.Select( IID_DATA );
aTbxCmd->SetItemState( IID_DATA, TriState(TRISTATE_TRUE) );
aTbxCmd->Select( IID_DATA );
}
}
}
@@ -1295,7 +1310,7 @@ void ScNavigatorDlg::StartOfDataArea()
SCCOL nCol = aMarkRange.aStart.Col();
SCROW nRow = aMarkRange.aStart.Row();
if ( (nCol+1 != aEdCol.GetCol()) || (nRow+1 != aEdRow.GetRow()) )
if ( (nCol+1 != aEdCol->GetCol()) || (nRow+1 != aEdRow->GetRow()) )
SetCurrentCell( nCol, nRow );
}
}
@@ -1313,7 +1328,7 @@ void ScNavigatorDlg::EndOfDataArea()
SCCOL nCol = aMarkRange.aEnd.Col();
SCROW nRow = aMarkRange.aEnd.Row();
if ( (nCol+1 != aEdCol.GetCol()) || (nRow+1 != aEdRow.GetRow()) )
if ( (nCol+1 != aEdCol->GetCol()) || (nRow+1 != aEdRow->GetRow()) )
SetCurrentCell( nCol, nRow );
}
}
diff --git a/sc/source/ui/navipi/scenwnd.cxx b/sc/source/ui/navipi/scenwnd.cxx
index 96b37d8..c9fb51f 100644
--- a/sc/source/ui/navipi/scenwnd.cxx
+++ b/sc/source/ui/navipi/scenwnd.cxx
@@ -197,23 +197,23 @@ void ScScenarioListBox::DeleteScenario( bool bQueryBox )
ScScenarioWindow::ScScenarioWindow( vcl::Window* pParent, const OUString& aQH_List,
const OUString& aQH_Comment)
: Window ( pParent, WB_TABSTOP | WB_DIALOGCONTROL ),
aLbScenario ( *this ),
aEdComment ( this, WB_BORDER | WB_LEFT | WB_READONLY | WB_VSCROLL | WB_TABSTOP )
aLbScenario ( new ScScenarioListBox(*this) ),
aEdComment ( new MultiLineEdit(this, WB_BORDER | WB_LEFT | WB_READONLY | WB_VSCROLL | WB_TABSTOP) )
{
vcl::Font aFont( GetFont() );
aFont.SetTransparent( true );
aFont.SetWeight( WEIGHT_LIGHT );
aEdComment.SetFont( aFont );
aEdComment.SetMaxTextLen( 512 );
aLbScenario.SetPosPixel( Point(0,0) );
aLbScenario.SetHelpId(HID_SC_SCENWIN_TOP);
aEdComment.SetHelpId(HID_SC_SCENWIN_BOTTOM);
aLbScenario.Show();
aEdComment.Show();
aEdComment->SetFont( aFont );
aEdComment->SetMaxTextLen( 512 );
aLbScenario->SetPosPixel( Point(0,0) );
aLbScenario->SetHelpId(HID_SC_SCENWIN_TOP);
aEdComment->SetHelpId(HID_SC_SCENWIN_BOTTOM);
aLbScenario->Show();
aEdComment->Show();
aLbScenario.SetQuickHelpText(aQH_List);
aEdComment.SetQuickHelpText(aQH_Comment);
aEdComment.SetBackground( Color( COL_LIGHTGRAY ) );
aLbScenario->SetQuickHelpText(aQH_List);
aEdComment->SetQuickHelpText(aQH_Comment);
aEdComment->SetBackground( Color( COL_LIGHTGRAY ) );
SfxViewFrame* pViewFrm = SfxViewFrame::Current();
if (pViewFrm)
@@ -226,6 +226,14 @@ ScScenarioWindow::ScScenarioWindow( vcl::Window* pParent, const OUString& aQH_Li
ScScenarioWindow::~ScScenarioWindow()
{
dispose();
}
void ScScenarioWindow::dispose()
{
aLbScenario.disposeAndClear();
aEdComment.disposeAndClear();
vcl::Window::dispose();
}
void ScScenarioWindow::Paint( const Rectangle& rRect )
@@ -242,26 +250,26 @@ void ScScenarioWindow::NotifyState( const SfxPoolItem* pState )
{
if( pState )
{
aLbScenario.Enable();
aLbScenario->Enable();
if ( pState->ISA(SfxStringItem) )
{
OUString aNewEntry( static_cast<const SfxStringItem*>(pState)->GetValue() );
if ( !aNewEntry.isEmpty() )
aLbScenario.SelectEntry( aNewEntry );
aLbScenario->SelectEntry( aNewEntry );
else
aLbScenario.SetNoSelection();
aLbScenario->SetNoSelection();
}
else if ( pState->ISA(SfxStringListItem) )
{
aLbScenario.UpdateEntries( static_cast<const SfxStringListItem*>(pState)->GetList() );
aLbScenario->UpdateEntries( static_cast<const SfxStringListItem*>(pState)->GetList() );
}
}
else
{
aLbScenario.Disable();
aLbScenario.SetNoSelection();
aLbScenario->Disable();
aLbScenario->SetNoSelection();
}
}
@@ -273,10 +281,10 @@ void ScScenarioWindow::SetSizePixel( const Size& rNewSize )
Window::SetSizePixel( aSize );
aSize.Height() = nHeight;
aLbScenario.SetSizePixel( aSize );
aLbScenario->SetSizePixel( aSize );
aSize.Height() -= 4;
aEdComment.SetPosSizePixel( Point( 0, nHeight+4 ), aSize );
aEdComment->SetPosSizePixel( Point( 0, nHeight+4 ), aSize );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/optdlg/tpcalc.cxx b/sc/source/ui/optdlg/tpcalc.cxx
index 1109539..eaa0d37 100644
--- a/sc/source/ui/optdlg/tpcalc.cxx
+++ b/sc/source/ui/optdlg/tpcalc.cxx
@@ -66,8 +66,14 @@ ScTpCalcOptions::ScTpCalcOptions(vcl::Window* pParent, const SfxItemSet& rCoreAt
ScTpCalcOptions::~ScTpCalcOptions()
{
dispose();
}
void ScTpCalcOptions::dispose()
{
delete pOldOptions;
delete pLocalOptions;
SfxTabPage::dispose();
}
void ScTpCalcOptions::Init()
diff --git a/sc/source/ui/optdlg/tpusrlst.cxx b/sc/source/ui/optdlg/tpusrlst.cxx
index dcc38d3..490a2fc9 100644
--- a/sc/source/ui/optdlg/tpusrlst.cxx
+++ b/sc/source/ui/optdlg/tpusrlst.cxx
@@ -84,8 +84,14 @@ ScTpUserLists::ScTpUserLists( vcl::Window* pParent,
ScTpUserLists::~ScTpUserLists()
{
dispose();
}
void ScTpUserLists::dispose()
{
delete pUserLists;
delete pRangeUtil;
SfxTabPage::dispose();
}
void ScTpUserLists::Init()
diff --git a/sc/source/ui/optdlg/tpview.cxx b/sc/source/ui/optdlg/tpview.cxx
index 2308812..82cf00b 100644
--- a/sc/source/ui/optdlg/tpview.cxx
+++ b/sc/source/ui/optdlg/tpview.cxx
@@ -95,7 +95,13 @@ ScTpContentOptions::ScTpContentOptions( vcl::Window* pParent,
ScTpContentOptions::~ScTpContentOptions()
{
dispose();
}
void ScTpContentOptions::dispose()
{
delete pLocalOptions;
SfxTabPage::dispose();
}
SfxTabPage* ScTpContentOptions::Create( vcl::Window* pParent,
diff --git a/sc/source/ui/pagedlg/areasdlg.cxx b/sc/source/ui/pagedlg/areasdlg.cxx
index c95aa13..36471e6 100644
--- a/sc/source/ui/pagedlg/areasdlg.cxx
+++ b/sc/source/ui/pagedlg/areasdlg.cxx
@@ -136,6 +136,11 @@ ScPrintAreasDlg::ScPrintAreasDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Win
ScPrintAreasDlg::~ScPrintAreasDlg()
{
dispose();
}
void ScPrintAreasDlg::dispose()
{
// Extra-Data an ListBox-Entries abraeumen
ListBox* aLb[3] = { pLbPrintArea, pLbRepeatRow, pLbRepeatCol };
@@ -145,6 +150,7 @@ ScPrintAreasDlg::~ScPrintAreasDlg()
for ( sal_uInt16 j=0; j<nCount; j++ )
delete static_cast<OUString*>(aLb[i]->GetEntryData(j));
}
ScAnyRefDlg::dispose();
}
bool ScPrintAreasDlg::Close()
diff --git a/sc/source/ui/pagedlg/tphfedit.cxx b/sc/source/ui/pagedlg/tphfedit.cxx
index 8f0a1b4..7b842ed 100644
--- a/sc/source/ui/pagedlg/tphfedit.cxx
+++ b/sc/source/ui/pagedlg/tphfedit.cxx
@@ -118,6 +118,11 @@ void ScEditWindow::Resize()
ScEditWindow::~ScEditWindow()
{
dispose();
}
void ScEditWindow::dispose()
{
// delete Accessible object before deleting EditEngine and EditView
if (pAcc)
{
@@ -127,6 +132,7 @@ ScEditWindow::~ScEditWindow()
}
delete pEdEngine;
delete pEdView;
Control::dispose();
}
extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeScEditWindow(vcl::Window *pParent, VclBuilder::stringmap &)
diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.cxx b/sc/source/ui/sidebar/CellBorderStyleControl.cxx
index 08f7417..72bd59e 100644
--- a/sc/source/ui/sidebar/CellBorderStyleControl.cxx
+++ b/sc/source/ui/sidebar/CellBorderStyleControl.cxx
@@ -45,11 +45,11 @@ namespace sc { namespace sidebar {
CellBorderStyleControl::CellBorderStyleControl(vcl::Window* pParent, CellAppearancePropertyPanel& rPanel)
: svx::sidebar::PopupControl(pParent, ScResId(RID_POPUPPANEL_APPEARANCE_CELL_BORDERSTYLE)),
mrCellAppearancePropertyPanel(rPanel),
maTBBorder1(this, ScResId(TB_BORDER1)),
maTBBorder2(this, ScResId(TB_BORDER2)),
maTBBorder3(this, ScResId(TB_BORDER3)),
maFL1(this, ScResId(FL_1)),
maFL2(this, ScResId(FL_2)),
maTBBorder1(new ToolBox(this, ScResId(TB_BORDER1))),
maTBBorder2(new ToolBox(this, ScResId(TB_BORDER2))),
maTBBorder3(new ToolBox(this, ScResId(TB_BORDER3))),
maFL1(new FixedLine(this, ScResId(FL_1))),
maFL2(new FixedLine(this, ScResId(FL_2))),
mpImageList(0)
{
Initialize();
@@ -58,7 +58,18 @@ CellBorderStyleControl::CellBorderStyleControl(vcl::Window* pParent, CellAppeara
CellBorderStyleControl::~CellBorderStyleControl(void)
{
dispose();
}
void CellBorderStyleControl::dispose()
{
delete[] mpImageList;
maTBBorder1.disposeAndClear();
maTBBorder2.disposeAndClear();
maTBBorder3.disposeAndClear();
maFL1.disposeAndClear();
maFL2.disposeAndClear();
svx::sidebar::PopupControl::dispose();
}
void CellBorderStyleControl::Initialize()
@@ -81,60 +92,60 @@ void CellBorderStyleControl::Initialize()
mpImageList[14] = Image(ScResId(IMG_BORDER15));
mpImageList[15] = Image(ScResId(IMG_BORDER16));
maTBBorder1.SetItemImage(TBI_BORDER1_NONE, mpImageList[0]);
maTBBorder1.SetItemImage(TBI_BORDER1_ALL, mpImageList[1]);
maTBBorder1.SetItemImage(TBI_BORDER1_OUTER, mpImageList[2]);
maTBBorder1.SetItemImage(TBI_BORDER1_OUTERBOLD, mpImageList[3]);
maTBBorder1.SetBackground(Wallpaper());
maTBBorder1.SetPaintTransparent(true);
Size aTbxSize( maTBBorder1.CalcWindowSizePixel() );
maTBBorder1.SetOutputSizePixel( aTbxSize );
maTBBorder1->SetItemImage(TBI_BORDER1_NONE, mpImageList[0]);
maTBBorder1->SetItemImage(TBI_BORDER1_ALL, mpImageList[1]);
maTBBorder1->SetItemImage(TBI_BORDER1_OUTER, mpImageList[2]);
maTBBorder1->SetItemImage(TBI_BORDER1_OUTERBOLD, mpImageList[3]);
maTBBorder1->SetBackground(Wallpaper());
maTBBorder1->SetPaintTransparent(true);
Size aTbxSize( maTBBorder1->CalcWindowSizePixel() );
maTBBorder1->SetOutputSizePixel( aTbxSize );
Link aLink = LINK(this, CellBorderStyleControl, TB1SelectHdl);
maTBBorder1.SetSelectHdl ( aLink );
maTBBorder1->SetSelectHdl ( aLink );
maTBBorder2.SetLineCount(2);
maTBBorder2.InsertItem(TBI_BORDER2_LEFT, mpImageList[4]);
maTBBorder2.InsertItem(TBI_BORDER2_RIGHT, mpImageList[5]);
maTBBorder2.InsertItem(TBI_BORDER2_TOP, mpImageList[6]);
maTBBorder2.InsertItem(TBI_BORDER2_BOT, mpImageList[7]);
maTBBorder2.InsertBreak();
maTBBorder2.InsertItem(TBI_BORDER2_BLTR, mpImageList[8]);
maTBBorder2.InsertItem(TBI_BORDER2_TLBR, mpImageList[9]);
maTBBorder2.InsertItem(TBI_BORDER2_TOPBOT, mpImageList[10]);
maTBBorder2.InsertItem(TBI_BORDER2_LEFTRIGHT, mpImageList[11]);
maTBBorder2.SetBackground(Wallpaper());
maTBBorder2.SetPaintTransparent(true);
aTbxSize = maTBBorder2.CalcWindowSizePixel() ;
maTBBorder2.SetOutputSizePixel( aTbxSize );
maTBBorder2.SetHelpId(TBI_BORDER2_LEFT, HID_PROPERTYPANEL_SC_BORDER_TBI_LEFT);
maTBBorder2.SetHelpId(TBI_BORDER2_RIGHT, HID_PROPERTYPANEL_SC_BORDER_TBI_RIGHT);
maTBBorder2.SetHelpId(TBI_BORDER2_TOP, HID_PROPERTYPANEL_SC_BORDER_TBI_TOP);
maTBBorder2.SetHelpId(TBI_BORDER2_BOT, HID_PROPERTYPANEL_SC_BORDER_TBI_BOT);
maTBBorder2.SetHelpId(TBI_BORDER2_BLTR, HID_PROPERTYPANEL_SC_BORDER_TBI_BLTR);
maTBBorder2.SetHelpId(TBI_BORDER2_TLBR, HID_PROPERTYPANEL_SC_BORDER_TBI_TLBR);
maTBBorder2.SetHelpId(TBI_BORDER2_TOPBOT, HID_PROPERTYPANEL_SC_BORDER_TBI_TOPBOT);
maTBBorder2.SetHelpId(TBI_BORDER2_LEFTRIGHT, HID_PROPERTYPANEL_SC_BORDER_TBI_LEFTRIGHT);
maTBBorder2.SetItemText(TBI_BORDER2_LEFT, ScResId(STR_BORDER_1));
maTBBorder2.SetItemText(TBI_BORDER2_RIGHT, ScResId(STR_BORDER_2));
maTBBorder2.SetItemText(TBI_BORDER2_TOP, ScResId(STR_BORDER_3));
maTBBorder2.SetItemText(TBI_BORDER2_BOT, ScResId(STR_BORDER_4));
maTBBorder2.SetItemText(TBI_BORDER2_BLTR, ScResId(STR_BORDER_5));
maTBBorder2.SetItemText(TBI_BORDER2_TLBR, ScResId(STR_BORDER_6));
maTBBorder2.SetItemText(TBI_BORDER2_TOPBOT, ScResId(STR_BORDER_7));
maTBBorder2.SetItemText(TBI_BORDER2_LEFTRIGHT, ScResId(STR_BORDER_8));
maTBBorder2->SetLineCount(2);
maTBBorder2->InsertItem(TBI_BORDER2_LEFT, mpImageList[4]);
maTBBorder2->InsertItem(TBI_BORDER2_RIGHT, mpImageList[5]);
maTBBorder2->InsertItem(TBI_BORDER2_TOP, mpImageList[6]);
maTBBorder2->InsertItem(TBI_BORDER2_BOT, mpImageList[7]);
maTBBorder2->InsertBreak();
maTBBorder2->InsertItem(TBI_BORDER2_BLTR, mpImageList[8]);
maTBBorder2->InsertItem(TBI_BORDER2_TLBR, mpImageList[9]);
maTBBorder2->InsertItem(TBI_BORDER2_TOPBOT, mpImageList[10]);
maTBBorder2->InsertItem(TBI_BORDER2_LEFTRIGHT, mpImageList[11]);
maTBBorder2->SetBackground(Wallpaper());
maTBBorder2->SetPaintTransparent(true);
aTbxSize = maTBBorder2->CalcWindowSizePixel() ;
maTBBorder2->SetOutputSizePixel( aTbxSize );
maTBBorder2->SetHelpId(TBI_BORDER2_LEFT, HID_PROPERTYPANEL_SC_BORDER_TBI_LEFT);
maTBBorder2->SetHelpId(TBI_BORDER2_RIGHT, HID_PROPERTYPANEL_SC_BORDER_TBI_RIGHT);
maTBBorder2->SetHelpId(TBI_BORDER2_TOP, HID_PROPERTYPANEL_SC_BORDER_TBI_TOP);
maTBBorder2->SetHelpId(TBI_BORDER2_BOT, HID_PROPERTYPANEL_SC_BORDER_TBI_BOT);
maTBBorder2->SetHelpId(TBI_BORDER2_BLTR, HID_PROPERTYPANEL_SC_BORDER_TBI_BLTR);
maTBBorder2->SetHelpId(TBI_BORDER2_TLBR, HID_PROPERTYPANEL_SC_BORDER_TBI_TLBR);
maTBBorder2->SetHelpId(TBI_BORDER2_TOPBOT, HID_PROPERTYPANEL_SC_BORDER_TBI_TOPBOT);
maTBBorder2->SetHelpId(TBI_BORDER2_LEFTRIGHT, HID_PROPERTYPANEL_SC_BORDER_TBI_LEFTRIGHT);
maTBBorder2->SetItemText(TBI_BORDER2_LEFT, ScResId(STR_BORDER_1));
maTBBorder2->SetItemText(TBI_BORDER2_RIGHT, ScResId(STR_BORDER_2));
maTBBorder2->SetItemText(TBI_BORDER2_TOP, ScResId(STR_BORDER_3));
maTBBorder2->SetItemText(TBI_BORDER2_BOT, ScResId(STR_BORDER_4));
maTBBorder2->SetItemText(TBI_BORDER2_BLTR, ScResId(STR_BORDER_5));
maTBBorder2->SetItemText(TBI_BORDER2_TLBR, ScResId(STR_BORDER_6));
maTBBorder2->SetItemText(TBI_BORDER2_TOPBOT, ScResId(STR_BORDER_7));
maTBBorder2->SetItemText(TBI_BORDER2_LEFTRIGHT, ScResId(STR_BORDER_8));
aLink = LINK(this, CellBorderStyleControl, TB2SelectHdl);
maTBBorder2.SetSelectHdl ( aLink );
maTBBorder2->SetSelectHdl ( aLink );
maTBBorder3.SetItemImage(TBI_BORDER3_S1, mpImageList[12]);
maTBBorder3.SetItemImage(TBI_BORDER3_S2, mpImageList[13]);
maTBBorder3.SetItemImage(TBI_BORDER3_S3, mpImageList[14]);
maTBBorder3.SetItemImage(TBI_BORDER3_S4, mpImageList[15]);
maTBBorder3.SetBackground(Wallpaper());
maTBBorder3.SetPaintTransparent(true);
aTbxSize = maTBBorder3.CalcWindowSizePixel() ;
maTBBorder3.SetOutputSizePixel( aTbxSize );
maTBBorder3->SetItemImage(TBI_BORDER3_S1, mpImageList[12]);
maTBBorder3->SetItemImage(TBI_BORDER3_S2, mpImageList[13]);
maTBBorder3->SetItemImage(TBI_BORDER3_S3, mpImageList[14]);
maTBBorder3->SetItemImage(TBI_BORDER3_S4, mpImageList[15]);
maTBBorder3->SetBackground(Wallpaper());
maTBBorder3->SetPaintTransparent(true);
aTbxSize = maTBBorder3->CalcWindowSizePixel() ;
maTBBorder3->SetOutputSizePixel( aTbxSize );
aLink = LINK(this, CellBorderStyleControl, TB3SelectHdl);
maTBBorder3.SetSelectHdl ( aLink );
maTBBorder3->SetSelectHdl ( aLink );
}
IMPL_LINK(CellBorderStyleControl, TB1SelectHdl, ToolBox*, pToolBox)
diff --git a/sc/source/ui/sidebar/CellBorderStyleControl.hxx b/sc/source/ui/sidebar/CellBorderStyleControl.hxx
index 7cf04e2..706d10e 100644
--- a/sc/source/ui/sidebar/CellBorderStyleControl.hxx
+++ b/sc/source/ui/sidebar/CellBorderStyleControl.hxx
@@ -32,11 +32,11 @@ class CellBorderStyleControl : public svx::sidebar::PopupControl
{
private:
CellAppearancePropertyPanel& mrCellAppearancePropertyPanel;
ToolBox maTBBorder1;
ToolBox maTBBorder2;
ToolBox maTBBorder3;
FixedLine maFL1;
FixedLine maFL2;
VclPtr<ToolBox> maTBBorder1;
VclPtr<ToolBox> maTBBorder2;
VclPtr<ToolBox> maTBBorder3;
VclPtr<FixedLine> maFL1;
VclPtr<FixedLine> maFL2;
Image* mpImageList;
void Initialize();
@@ -47,7 +47,8 @@ private:
public:
CellBorderStyleControl(vcl::Window* pParent, CellAppearancePropertyPanel& rPanel);
virtual ~CellBorderStyleControl(void);
virtual ~CellBorderStyleControl();
virtual void dispose() SAL_OVERRIDE;
};
} } // end of namespace svx::sidebar
diff --git a/sc/source/ui/sidebar/CellLineStyleControl.cxx b/sc/source/ui/sidebar/CellLineStyleControl.cxx
index ac4d346..187cbed 100644
--- a/sc/source/ui/sidebar/CellLineStyleControl.cxx
+++ b/sc/source/ui/sidebar/CellLineStyleControl.cxx
@@ -36,27 +36,39 @@ namespace sc { namespace sidebar {
CellLineStyleControl::CellLineStyleControl(vcl::Window* pParent, CellAppearancePropertyPanel& rPanel)
: svx::sidebar::PopupControl(pParent, ScResId(RID_POPUPPANEL_APPEARANCE_CELL_LINESTYLE)),
mrCellAppearancePropertyPanel(rPanel),
maPushButtonMoreOptions(this, ScResId(PB_OPTIONS)),
maCellLineStyleValueSet(this, ScResId(VS_STYLE)),
maPushButtonMoreOptions(new PushButton(this, ScResId(PB_OPTIONS))),
maCellLineStyleValueSet(new sc::sidebar::CellLineStyleValueSet(this, ScResId(VS_STYLE))),
mbVSfocus(true)
{
Initialize();
FreeResource();
}
CellLineStyleControl::~CellLineStyleControl()
{
dispose();
}
void CellLineStyleControl::dispose()
{
maPushButtonMoreOptions.disposeAndClear();
maCellLineStyleValueSet.disposeAndClear();
svx::sidebar::PopupControl::dispose();
}
void CellLineStyleControl::Initialize()
{
//maPushButtonMoreOptions.SetIcoPosX(2);
//maPushButtonMoreOptions->SetIcoPosX(2);
Link aLink = LINK(this, CellLineStyleControl, PBClickHdl);
maPushButtonMoreOptions.SetClickHdl(aLink);
maPushButtonMoreOptions->SetClickHdl(aLink);
maCellLineStyleValueSet.SetStyle(maCellLineStyleValueSet.GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT);
maCellLineStyleValueSet.SetControlBackground(GetSettings().GetStyleSettings().GetMenuColor());
maCellLineStyleValueSet.SetColor(GetSettings().GetStyleSettings().GetMenuColor());
maCellLineStyleValueSet->SetStyle(maCellLineStyleValueSet->GetStyle()| WB_3DLOOK | WB_NO_DIRECTSELECT);
maCellLineStyleValueSet->SetControlBackground(GetSettings().GetStyleSettings().GetMenuColor());
maCellLineStyleValueSet->SetColor(GetSettings().GetStyleSettings().GetMenuColor());
for(sal_uInt16 i = 1 ; i <= 9 ; i++)
{
maCellLineStyleValueSet.InsertItem(i);
maCellLineStyleValueSet->InsertItem(i);
}
maStr[0] = GetSettings().GetLocaleI18nHelper().GetNum( 5, 2 ) + "pt";
@@ -68,46 +80,46 @@ void CellLineStyleControl::Initialize()
maStr[6] = GetSettings().GetLocaleI18nHelper().GetNum( 450, 2 ) + "pt";
maStr[7] = GetSettings().GetLocaleI18nHelper().GetNum( 505, 2 ) + "pt";
maStr[8] = GetSettings().GetLocaleI18nHelper().GetNum( 750, 2 ) + "pt";
maCellLineStyleValueSet.SetUnit(&maStr[0]);
maCellLineStyleValueSet->SetUnit(&maStr[0]);
for (sal_uInt16 i = 1; i <= CELL_LINE_STYLE_ENTRIES; ++i)
{
maCellLineStyleValueSet.SetItemText(i, maStr[i-1]);
maCellLineStyleValueSet->SetItemText(i, maStr[i-1]);
}
SetAllNoSel();
aLink = LINK(this, CellLineStyleControl, VSSelectHdl);
maCellLineStyleValueSet.SetSelectHdl(aLink);
maCellLineStyleValueSet.StartSelection();
maCellLineStyleValueSet.Show();
maCellLineStyleValueSet->SetSelectHdl(aLink);
maCellLineStyleValueSet->StartSelection();
maCellLineStyleValueSet->Show();
}
void CellLineStyleControl::GetFocus()
{
if(!mbVSfocus)
{
maPushButtonMoreOptions.GrabFocus();
maPushButtonMoreOptions->GrabFocus();
}
else
{
maCellLineStyleValueSet.GrabFocus();
maCellLineStyleValueSet->GrabFocus();
}
}
void CellLineStyleControl::SetAllNoSel()
{
maCellLineStyleValueSet.SelectItem(0);
maCellLineStyleValueSet.SetNoSelection();
maCellLineStyleValueSet.Format();
maCellLineStyleValueSet->SelectItem(0);
maCellLineStyleValueSet->SetNoSelection();
maCellLineStyleValueSet->Format();
Invalidate();
maCellLineStyleValueSet.StartSelection();
maCellLineStyleValueSet->StartSelection();
}
IMPL_LINK(CellLineStyleControl, VSSelectHdl, void *, pControl)
{
if(pControl == &maCellLineStyleValueSet)
{
const sal_uInt16 iPos(maCellLineStyleValueSet.GetSelectItemId());
const sal_uInt16 iPos(maCellLineStyleValueSet->GetSelectItemId());
SvxLineItem aLineItem(SID_FRAME_LINESTYLE);
using namespace ::com::sun::star::table::BorderLineStyle;
editeng::SvxBorderStyle nStyle = SOLID;
@@ -178,7 +190,7 @@ IMPL_LINK(CellLineStyleControl, VSSelectHdl, void *, pControl)
IMPL_LINK(CellLineStyleControl, PBClickHdl, PushButton *, pPBtn)
{
if(pPBtn == &maPushButtonMoreOptions)
if(pPBtn == maPushButtonMoreOptions.get())
{
if(mrCellAppearancePropertyPanel.GetBindings())
{
@@ -200,48 +212,48 @@ void CellLineStyleControl::SetLineStyleSelect(sal_uInt16 out, sal_uInt16 in, sal
if(out == DEF_LINE_WIDTH_0 && in == 0 && dis == 0) //1
{
maCellLineStyleValueSet.SetSelItem(1);
maCellLineStyleValueSet->SetSelItem(1);
}
else if(out == DEF_LINE_WIDTH_2 && in == 0 && dis == 0) //2
{
maCellLineStyleValueSet.SetSelItem(2);
maCellLineStyleValueSet->SetSelItem(2);
}
else if(out == DEF_LINE_WIDTH_3 && in == 0 && dis == 0) //3
{
maCellLineStyleValueSet.SetSelItem(3);
maCellLineStyleValueSet->SetSelItem(3);
}
else if(out == DEF_LINE_WIDTH_4 && in == 0 && dis == 0) //4
{
maCellLineStyleValueSet.SetSelItem(4);
maCellLineStyleValueSet->SetSelItem(4);
}
else if(out == DEF_LINE_WIDTH_0 && in == DEF_LINE_WIDTH_0 && dis == DEF_LINE_WIDTH_1) //5
{
maCellLineStyleValueSet.SetSelItem(5);
maCellLineStyleValueSet->SetSelItem(5);
}
else if(out == DEF_LINE_WIDTH_0 && in == DEF_LINE_WIDTH_0 && dis == DEF_LINE_WIDTH_2) //6
{
maCellLineStyleValueSet.SetSelItem(6);
maCellLineStyleValueSet->SetSelItem(6);
}
else if(out == DEF_LINE_WIDTH_1 && in == DEF_LINE_WIDTH_2 && dis == DEF_LINE_WIDTH_1) //7
{
maCellLineStyleValueSet.SetSelItem(7);
maCellLineStyleValueSet->SetSelItem(7);
}
else if(out == DEF_LINE_WIDTH_2 && in == DEF_LINE_WIDTH_0 && dis == DEF_LINE_WIDTH_2) //8
{
maCellLineStyleValueSet.SetSelItem(8);
maCellLineStyleValueSet->SetSelItem(8);
}
else if(out == DEF_LINE_WIDTH_2 && in == DEF_LINE_WIDTH_2 && dis == DEF_LINE_WIDTH_2) //9
{
maCellLineStyleValueSet.SetSelItem(9);
maCellLineStyleValueSet->SetSelItem(9);
}
else
{
maCellLineStyleValueSet.SetSelItem(0);
maCellLineStyleValueSet->SetSelItem(0);
mbVSfocus = false;
}
maCellLineStyleValueSet.Format();
maCellLineStyleValueSet.StartSelection();
maCellLineStyleValueSet->Format();
maCellLineStyleValueSet->StartSelection();
}
} } // end of namespace svx::sidebar
diff --git a/sc/source/ui/sidebar/CellLineStyleControl.hxx b/sc/source/ui/sidebar/CellLineStyleControl.hxx
index a00079a..3b772db 100644
--- a/sc/source/ui/sidebar/CellLineStyleControl.hxx
+++ b/sc/source/ui/sidebar/CellLineStyleControl.hxx
@@ -31,8 +31,8 @@ class CellLineStyleControl : public svx::sidebar::PopupControl
{
private:
CellAppearancePropertyPanel& mrCellAppearancePropertyPanel;
PushButton maPushButtonMoreOptions;
CellLineStyleValueSet maCellLineStyleValueSet;
VclPtr<PushButton> maPushButtonMoreOptions;
VclPtr<CellLineStyleValueSet> maCellLineStyleValueSet;
OUString maStr[CELL_LINE_STYLE_ENTRIES];
/// bitfield
@@ -46,18 +46,20 @@ private:
public:
CellLineStyleControl(vcl::Window* pParent, CellAppearancePropertyPanel& rPanel);
virtual ~CellLineStyleControl();
virtual void dispose() SAL_OVERRIDE;
void GetFocus() SAL_OVERRIDE;
void SetLineStyleSelect(sal_uInt16 out, sal_uInt16 in, sal_uInt16 dis);
ValueSet& GetValueSet()
{
return maCellLineStyleValueSet;
return *maCellLineStyleValueSet.get();
}
Control& GetPushButton()
{
return maPushButtonMoreOptions;
return *maPushButtonMoreOptions.get();
}
};
diff --git a/sc/source/ui/sidebar/CellLineStyleValueSet.cxx b/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
index eae59d6..d928903 100644
--- a/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
+++ b/sc/source/ui/sidebar/CellLineStyleValueSet.cxx
@@ -34,7 +34,13 @@ CellLineStyleValueSet::CellLineStyleValueSet( vcl::Window* pParent, const ResId&
CellLineStyleValueSet::~CellLineStyleValueSet()
{
dispose();
}
void CellLineStyleValueSet::dispose()
{
delete pVDev;
ValueSet::dispose();
}
void CellLineStyleValueSet::SetUnit(const OUString* str)
diff --git a/sc/source/ui/sidebar/CellLineStyleValueSet.hxx b/sc/source/ui/sidebar/CellLineStyleValueSet.hxx
index 969f346..65b390a 100644
--- a/sc/source/ui/sidebar/CellLineStyleValueSet.hxx
+++ b/sc/source/ui/sidebar/CellLineStyleValueSet.hxx
@@ -35,6 +35,7 @@ private:
public:
CellLineStyleValueSet( vcl::Window* pParent, const ResId& rResId);
virtual ~CellLineStyleValueSet();
virtual void dispose() SAL_OVERRIDE;
void SetUnit(const OUString* str);
void SetSelItem(sal_uInt16 nSel);
diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx
index 2b0ca4c..ea3a10b 100644
--- a/sc/source/ui/view/gridwin.cxx
+++ b/sc/source/ui/view/gridwin.cxx
@@ -224,6 +224,7 @@ public:
ScFilterListBox( vcl::Window* pParent, ScGridWindow* pGrid,
SCCOL nNewCol, SCROW nNewRow, ScFilterBoxMode eNewMode );
virtual ~ScFilterListBox();
virtual void dispose() SAL_OVERRIDE;
virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
virtual void Select() SAL_OVERRIDE;
@@ -258,8 +259,14 @@ ScFilterListBox::ScFilterListBox( vcl::Window* pParent, ScGridWindow* pGrid,
ScFilterListBox::~ScFilterListBox()
{
dispose();
}
void ScFilterListBox::dispose()
{
if (IsMouseCaptured())
ReleaseMouse();
ListBox::dispose();
}
void ScFilterListBox::EndInit()
@@ -522,6 +529,18 @@ ScGridWindow::ScGridWindow( vcl::Window* pParent, ScViewData* pData, ScSplitPos
ScGridWindow::~ScGridWindow()
{
dispose();
}
void ScGridWindow::dispose()
{
// #114409#
ImpDestroyOverlayObjects();
delete pFilterBox;
delete pFilterFloat;
delete pNoteMarker;
vcl::Window::dispose();
}
void ScGridWindow::ClickExtern()
diff --git a/sc/source/ui/view/olinewin.cxx b/sc/source/ui/view/olinewin.cxx
index 4752e56..18a1375 100644
--- a/sc/source/ui/view/olinewin.cxx
+++ b/sc/source/ui/view/olinewin.cxx
@@ -71,10 +71,16 @@ ScOutlineWindow::ScOutlineWindow( vcl::Window* pParent, ScOutlineMode eMode, ScV
ScOutlineWindow::~ScOutlineWindow()
{
dispose();
}
void ScOutlineWindow::dispose()
{
// remove the window from task pane list
if( SystemWindow* pSysWin = GetSystemWindow() )
if( TaskPaneList* pTaskPaneList = pSysWin->GetTaskPaneList() )
pTaskPaneList->RemoveWindow( this );
vcl::Window::dispose();
}
void ScOutlineWindow::SetHeaderSize( long nNewSize )
diff --git a/sc/source/ui/view/preview.cxx b/sc/source/ui/view/preview.cxx
index 14e16b3..15da775 100644
--- a/sc/source/ui/view/preview.cxx
+++ b/sc/source/ui/view/preview.cxx
@@ -143,8 +143,14 @@ ScPreview::ScPreview( vcl::Window* pParent, ScDocShell* pDocSh, ScPreviewShell*
ScPreview::~ScPreview()
{
dispose();
}
void ScPreview::dispose()
{
delete pDrawView;
delete pLocationData;
vcl::Window::dispose();
}
void ScPreview::UpdateDrawView() // nTab must be right
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 706856f..9cf9fb3 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -199,13 +199,13 @@ ScTabView::ScTabView( vcl::Window* pParent, ScDocShell& rDocSh, ScTabViewShell*
pHdrSelEng( NULL ),
aHdrFunc( &aViewData ),
pDrawView( NULL ),
aVScrollTop( pFrameWin, WinBits( WB_VSCROLL | WB_DRAG ) ),
aVScrollBottom( pFrameWin, WinBits( WB_VSCROLL | WB_DRAG ) ),
aHScrollLeft( pFrameWin, WinBits( WB_HSCROLL | WB_DRAG ) ),
aHScrollRight( pFrameWin, WinBits( WB_HSCROLL | WB_DRAG ) ),
aCornerButton( pFrameWin, &aViewData, false ),
aTopButton( pFrameWin, &aViewData, true ),
aScrollBarBox( pFrameWin, WB_SIZEABLE ),
aVScrollTop( new ScrollBar( pFrameWin, WinBits( WB_VSCROLL | WB_DRAG ) ) ),
aVScrollBottom( new ScrollBar( pFrameWin, WinBits( WB_VSCROLL | WB_DRAG ) ) ),
aHScrollLeft( new ScrollBar( pFrameWin, WinBits( WB_HSCROLL | WB_DRAG ) ) ),
aHScrollRight( new ScrollBar( pFrameWin, WinBits( WB_HSCROLL | WB_DRAG ) ) ),
aCornerButton( new ScCornerButton( pFrameWin, &aViewData, false ) ),
aTopButton( new ScCornerButton( pFrameWin, &aViewData, true ) ),
aScrollBarBox( new ScrollBarBox( pFrameWin, WB_SIZEABLE ) ),
mpInputHintWindow( NULL ),
pPageBreakData( NULL ),
pBrushDocument( NULL ),
@@ -394,7 +394,7 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
}
// window at the bottom right
lcl_SetPosSize( aScrollBarBox, Point( nPosX+nSizeX, nPosY+nSizeY ), Size( nBarX, nBarY ),
lcl_SetPosSize( *aScrollBarBox.get(), Point( nPosX+nSizeX, nPosY+nSizeY ), Size( nBarX, nBarY ),
nTotalWidth, bLayoutRTL );
if (bHScroll) // Scrollbars horizontal
@@ -458,39 +458,39 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
{
Point aTabPoint(nPosX, nPosY + nSizeY);
Size aTabSize(nTabSize, nBarY);
lcl_SetPosSize(*pTabControl, aTabPoint, aTabSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*pTabControl.get(), aTabPoint, aTabSize, nTotalWidth, bLayoutRTL);
pTabControl->SetSheetLayoutRTL(bLayoutRTL);
Point aHScrollLeftPoint(nPosX + nTabSize, nPosY + nSizeY);
Size aHScrollLeftSize(nSizeLt, nBarY);
lcl_SetPosSize(aHScrollLeft, aHScrollLeftPoint, aHScrollLeftSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*aHScrollLeft.get(), aHScrollLeftPoint, aHScrollLeftSize, nTotalWidth, bLayoutRTL);
Point aHSplitterPoint(nPosX + nTabSize + nSizeLt, nPosY + nSizeY);
Size aHSplitterSize(nSizeSp, nBarY);
lcl_SetPosSize(*pHSplitter, aHSplitterPoint, aHSplitterSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(pHSplitter, aHSplitterPoint, aHSplitterSize, nTotalWidth, bLayoutRTL);
Point aHScrollRightPoint(nPosX + nTabSize + nSizeLt + nSizeSp, nPosY + nSizeY);
Size aHScrollRightSize(nSizeRt, nBarY);
lcl_SetPosSize(aHScrollRight, aHScrollRightPoint, aHScrollRightSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*aHScrollRight.get(), aHScrollRightPoint, aHScrollRightSize, nTotalWidth, bLayoutRTL);
}
else
{
Point aTabPoint(nPosX, nPosY + nSizeY + nScrollBarSize);
Size aTabSize(nSizeX, nTabWidth);
lcl_SetPosSize(*pTabControl, aTabPoint, aTabSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*pTabControl.get(), aTabPoint, aTabSize, nTotalWidth, bLayoutRTL);
pTabControl->SetSheetLayoutRTL(bLayoutRTL);
Point aHScrollLeftPoint(nPosX, nPosY + nSizeY);
Size aHScrollLeftSize(nSizeLt, nScrollBarSize);
lcl_SetPosSize(aHScrollLeft, aHScrollLeftPoint, aHScrollLeftSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*aHScrollLeft.get(), aHScrollLeftPoint, aHScrollLeftSize, nTotalWidth, bLayoutRTL);
Point aHSplitterPoint(nPosX + nSizeLt, nPosY + nSizeY);
Size aHSplitterSize(nSizeSp, nScrollBarSize);
lcl_SetPosSize(*pHSplitter, aHSplitterPoint, aHSplitterSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(pHSplitter, aHSplitterPoint, aHSplitterSize, nTotalWidth, bLayoutRTL);
Point aHScrollRightPoint(nPosX + nSizeLt + nSizeSp, nPosY + nSizeY);
Size aHScrollRightSize(nSizeRt, nScrollBarSize);
lcl_SetPosSize(aHScrollRight, aHScrollRightPoint, aHScrollRightSize, nTotalWidth, bLayoutRTL);
lcl_SetPosSize(*aHScrollRight.get(), aHScrollRightPoint, aHScrollRightSize, nTotalWidth, bLayoutRTL);
}
// SetDragRectPixel is done below
}
@@ -518,11 +518,11 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
}
nSizeDn = nSizeY - nSizeUp - nSizeSp;
lcl_SetPosSize( aVScrollTop, Point(nPosX + nSizeX, nPosY),
lcl_SetPosSize( *aVScrollTop.get(), Point(nPosX + nSizeX, nPosY),
Size(nBarX, nSizeUp), nTotalWidth, bLayoutRTL );
lcl_SetPosSize( *pVSplitter, Point( nPosX + nSizeX, nPosY+nSizeUp ),
Size( nBarX, nSizeSp ), nTotalWidth, bLayoutRTL );
lcl_SetPosSize( aVScrollBottom, Point(nPosX + nSizeX,
lcl_SetPosSize( *aVScrollBottom.get(), Point(nPosX + nSizeX,
nPosY + nSizeUp + nSizeSp),
Size(nBarX, nSizeDn), nTotalWidth, bLayoutRTL );
@@ -540,25 +540,25 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
if (bTabControl && ! bHScroll )
{
nBarY = aHScrollLeft.GetSizePixel().Height();
nBarX = aVScrollBottom.GetSizePixel().Width();
nBarY = aHScrollLeft->GetSizePixel().Height();
nBarX = aVScrollBottom->GetSizePixel().Width();
long nSize1 = nSizeX;
long nTabSize = nSize1;
if (nTabSize < 0) nTabSize = 0;
lcl_SetPosSize( *pTabControl, Point(nPosX, nPosY+nSizeY-nBarY),
lcl_SetPosSize( *pTabControl.get(), Point(nPosX, nPosY+nSizeY-nBarY),
Size(nTabSize, nBarY), nTotalWidth, bLayoutRTL );
nSizeY -= nBarY;
lcl_SetPosSize( aScrollBarBox, Point( nPosX+nSizeX, nPosY+nSizeY ), Size( nBarX, nBarY ),
lcl_SetPosSize( *aScrollBarBox.get(), Point( nPosX+nSizeX, nPosY+nSizeY ), Size( nBarX, nBarY ),
nTotalWidth, bLayoutRTL );
if( bVScroll )
{
Size aVScrSize = aVScrollBottom.GetSizePixel();
Size aVScrSize = aVScrollBottom->GetSizePixel();
aVScrSize.Height() -= nBarY;
aVScrollBottom.SetSizePixel( aVScrSize );
aVScrollBottom->SetSizePixel( aVScrSize );
}
}
@@ -607,7 +607,7 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
{
// Fixier-Splitter nicht mit Scrollbar/TabBar ueberlappen lassen
if ( bHScroll )
nSplitHeight -= aHScrollLeft.GetSizePixel().Height();
nSplitHeight -= aHScrollLeft->GetSizePixel().Height();
else if ( bTabControl && pTabControl )
nSplitHeight -= pTabControl->GetSizePixel().Height();
}
@@ -623,7 +623,7 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
{
long nSplitWidth = rSize.Width();
if ( aViewData.GetVSplitMode() == SC_SPLIT_FIX && bVScroll )
nSplitWidth -= aVScrollBottom.GetSizePixel().Width();
nSplitWidth -= aVScrollBottom->GetSizePixel().Width();
nSplitPosY = aViewData.GetVSplitPos();
lcl_SetPosSize( *pVSplitter,
Point( nOutPosX, nSplitPosY ), Size( nSplitWidth, nSplitSizeY ), nTotalWidth, bLayoutRTL );
@@ -672,11 +672,11 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
}
if (bHOutline && bVOutline)
{
lcl_SetPosSize( aTopButton, Point(nOutPosX,nOutPosY), Size(nOutlineX,nOutlineY), nTotalWidth, bLayoutRTL );
aTopButton.Show();
lcl_SetPosSize( *aTopButton.get(), Point(nOutPosX,nOutPosY), Size(nOutlineX,nOutlineY), nTotalWidth, bLayoutRTL );
aTopButton->Show();
}
else
aTopButton.Hide();
aTopButton->Hide();
if (bHeaders) // Spalten/Zeilen-Header
{
@@ -692,14 +692,14 @@ void ScTabView::DoResize( const Point& rOffset, const Size& rSize, bool bInner )
lcl_SetPosSize( *pRowBar[SC_SPLIT_BOTTOM],
Point(nPosX-nBarX,nSplitPosY), Size(nBarX,nBottomSize), nTotalWidth, bLayoutRTL );
lcl_SetPosSize( aCornerButton, Point(nPosX-nBarX,nPosY-nBarY), Size(nBarX,nBarY), nTotalWidth, bLayoutRTL );
aCornerButton.Show();
lcl_SetPosSize( *aCornerButton.get(), Point(nPosX-nBarX,nPosY-nBarY), Size(nBarX,nBarY), nTotalWidth, bLayoutRTL );
aCornerButton->Show();
pColBar[SC_SPLIT_LEFT]->Show();
pRowBar[SC_SPLIT_BOTTOM]->Show();
}
else
{
aCornerButton.Hide();
aCornerButton->Hide();
pColBar[SC_SPLIT_LEFT]->Hide(); // immer da
pRowBar[SC_SPLIT_BOTTOM]->Hide();
}
@@ -822,8 +822,8 @@ void ScTabView::GetBorderSize( SvBorder& rBorder, const Size& /* rSize */ )
if (bScrollBars) // Scrollbars horizontal oder vertikal
{
rBorder.Right() += aVScrollBottom.GetSizePixel().Width();
rBorder.Bottom() += aHScrollLeft.GetSizePixel().Height();
rBorder.Right() += aVScrollBottom->GetSizePixel().Width();
rBorder.Bottom() += aHScrollLeft->GetSizePixel().Height();
}
// Outline-Controls
@@ -1015,8 +1015,8 @@ bool ScTabView::ScrollCommand( const CommandEvent& rCEvt, ScSplitPos ePos )
{
ScHSplitPos eHPos = WhichH(ePos);
ScVSplitPos eVPos = WhichV(ePos);
ScrollBar* pHScroll = ( eHPos == SC_SPLIT_LEFT ) ? &aHScrollLeft : &aHScrollRight;
ScrollBar* pVScroll = ( eVPos == SC_SPLIT_TOP ) ? &aVScrollTop : &aVScrollBottom;
ScrollBar* pHScroll = ( eHPos == SC_SPLIT_LEFT ) ? aHScrollLeft.get() : aHScrollRight.get();
ScrollBar* pVScroll = ( eVPos == SC_SPLIT_TOP ) ? aVScrollTop.get() : aVScrollBottom.get();
if ( pGridWin[ePos] )
bDone = pGridWin[ePos]->HandleScrollCommand( rCEvt, pHScroll, pVScroll );
}
@@ -1035,13 +1035,13 @@ IMPL_LINK_NOARG(ScTabView, EndScrollHdl)
IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
{
bool bHoriz = ( pScroll == &aHScrollLeft || pScroll == &aHScrollRight );
bool bHoriz = ( pScroll == aHScrollLeft.get() || pScroll == aHScrollRight.get() );
long nViewPos;
if ( bHoriz )
nViewPos = aViewData.GetPosX( (pScroll == &aHScrollLeft) ?
nViewPos = aViewData.GetPosX( (pScroll == aHScrollLeft.get()) ?
SC_SPLIT_LEFT : SC_SPLIT_RIGHT );
else
nViewPos = aViewData.GetPosY( (pScroll == &aVScrollTop) ?
nViewPos = aViewData.GetPosY( (pScroll == aVScrollTop.get()) ?
SC_SPLIT_TOP : SC_SPLIT_BOTTOM );
bool bLayoutRTL = aViewData.GetDocument()->IsLayoutRTL( aViewData.GetTabNo() );
@@ -1078,9 +1078,9 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
// get scrollbar scroll position for help text (row number/column name)
long nScrollMin = 0; // RangeMin simulieren
if ( aViewData.GetHSplitMode()==SC_SPLIT_FIX && pScroll == &aHScrollRight )
if ( aViewData.GetHSplitMode()==SC_SPLIT_FIX && pScroll == aHScrollRight.get() )
nScrollMin = aViewData.GetFixPosX();
if ( aViewData.GetVSplitMode()==SC_SPLIT_FIX && pScroll == &aVScrollBottom )
if ( aViewData.GetVSplitMode()==SC_SPLIT_FIX && pScroll == aVScrollBottom.get() )
nScrollMin = aViewData.GetFixPosY();
long nScrollPos = GetScrollBarPos( *pScroll ) + nScrollMin;
@@ -1123,17 +1123,17 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
nDelta = 1;
break;
case SCROLL_PAGEUP:
if ( pScroll == &aHScrollLeft ) nDelta = -(long) aViewData.PrevCellsX( SC_SPLIT_LEFT );
if ( pScroll == &aHScrollRight ) nDelta = -(long) aViewData.PrevCellsX( SC_SPLIT_RIGHT );
if ( pScroll == &aVScrollTop ) nDelta = -(long) aViewData.PrevCellsY( SC_SPLIT_TOP );
if ( pScroll == &aVScrollBottom ) nDelta = -(long) aViewData.PrevCellsY( SC_SPLIT_BOTTOM );
if ( pScroll == aHScrollLeft.get() ) nDelta = -(long) aViewData.PrevCellsX( SC_SPLIT_LEFT );
if ( pScroll == aHScrollRight.get() ) nDelta = -(long) aViewData.PrevCellsX( SC_SPLIT_RIGHT );
if ( pScroll == aVScrollTop.get() ) nDelta = -(long) aViewData.PrevCellsY( SC_SPLIT_TOP );
if ( pScroll == aVScrollBottom.get() ) nDelta = -(long) aViewData.PrevCellsY( SC_SPLIT_BOTTOM );
if (nDelta==0) nDelta=-1;
break;
case SCROLL_PAGEDOWN:
if ( pScroll == &aHScrollLeft ) nDelta = aViewData.VisibleCellsX( SC_SPLIT_LEFT );
if ( pScroll == &aHScrollRight ) nDelta = aViewData.VisibleCellsX( SC_SPLIT_RIGHT );
if ( pScroll == &aVScrollTop ) nDelta = aViewData.VisibleCellsY( SC_SPLIT_TOP );
if ( pScroll == &aVScrollBottom ) nDelta = aViewData.VisibleCellsY( SC_SPLIT_BOTTOM );
if ( pScroll == aHScrollLeft.get() ) nDelta = aViewData.VisibleCellsX( SC_SPLIT_LEFT );
if ( pScroll == aHScrollRight.get() ) nDelta = aViewData.VisibleCellsX( SC_SPLIT_RIGHT );
if ( pScroll == aVScrollTop.get() ) nDelta = aViewData.VisibleCellsY( SC_SPLIT_TOP );
if ( pScroll == aVScrollBottom.get() ) nDelta = aViewData.VisibleCellsY( SC_SPLIT_BOTTOM );
if (nDelta==0) nDelta=1;
break;
case SCROLL_DRAG:
@@ -1142,9 +1142,9 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
// Bereiche herumzittern
long nScrollMin = 0; // RangeMin simulieren
if ( aViewData.GetHSplitMode()==SC_SPLIT_FIX && pScroll == &aHScrollRight )
if ( aViewData.GetHSplitMode()==SC_SPLIT_FIX && pScroll == aHScrollRight.get() )
nScrollMin = aViewData.GetFixPosX();
if ( aViewData.GetVSplitMode()==SC_SPLIT_FIX && pScroll == &aVScrollBottom )
if ( aViewData.GetVSplitMode()==SC_SPLIT_FIX && pScroll == aVScrollBottom.get() )
nScrollMin = aViewData.GetFixPosY();
long nScrollPos = GetScrollBarPos( *pScroll ) + nScrollMin;
@@ -1172,9 +1172,9 @@ IMPL_LINK( ScTabView, ScrollHdl, ScrollBar*, pScroll )
{
bool bUpdate = ( eType != SCROLL_DRAG ); // bei Drag die Ranges nicht aendern
if ( bHoriz )
ScrollX( nDelta, (pScroll == &aHScrollLeft) ? SC_SPLIT_LEFT : SC_SPLIT_RIGHT, bUpdate );
ScrollX( nDelta, (pScroll == aHScrollLeft.get()) ? SC_SPLIT_LEFT : SC_SPLIT_RIGHT, bUpdate );
else
ScrollY( nDelta, (pScroll == &aVScrollTop) ? SC_SPLIT_TOP : SC_SPLIT_BOTTOM, bUpdate );
ScrollY( nDelta, (pScroll == aVScrollTop.get()) ? SC_SPLIT_TOP : SC_SPLIT_BOTTOM, bUpdate );
}
return 0;
@@ -1433,7 +1433,7 @@ void ScTabView::UpdateHeaderWidth( const ScVSplitPos* pWhich, const SCROW* pPosY
RepeatResize();
// auf VCL gibt's Update ohne Ende (jedes Update gilt fuer alle Fenster)
//aCornerButton.Update(); // der bekommt sonst nie ein Update
//aCornerButton->Update(); // der bekommt sonst nie ein Update
bInUpdateHeader = false;
}
@@ -1499,11 +1499,11 @@ void ScTabView::UpdateShow()
// Windows anzeigen
ShowHide( &aHScrollLeft, bHScrollMode );
ShowHide( &aHScrollRight, bShowH && bHScrollMode );
ShowHide( &aVScrollBottom, bVScrollMode );
ShowHide( &aVScrollTop, bShowV && bVScrollMode );
ShowHide( &aScrollBarBox, bVScrollMode || bHScrollMode );
ShowHide( aHScrollLeft.get(), bHScrollMode );
ShowHide( aHScrollRight.get(), bShowH && bHScrollMode );
ShowHide( aVScrollBottom.get(), bVScrollMode );
ShowHide( aVScrollTop.get(), bShowV && bVScrollMode );
ShowHide( aScrollBarBox.get(), bVScrollMode || bHScrollMode );
ShowHide( pHSplitter, bHScrollMode || bShowH ); // immer angelegt
ShowHide( pVSplitter, bVScrollMode || bShowV );
@@ -2221,11 +2221,11 @@ void ScTabView::StartDataSelect()
void ScTabView::EnableRefInput(bool bFlag)
{
aHScrollLeft.EnableInput(bFlag);
aHScrollRight.EnableInput(bFlag);
aVScrollBottom.EnableInput(bFlag);
aVScrollTop.EnableInput(bFlag);
aScrollBarBox.EnableInput(bFlag);
aHScrollLeft->EnableInput(bFlag);
aHScrollRight->EnableInput(bFlag);
aVScrollBottom->EnableInput(bFlag);
aVScrollTop->EnableInput(bFlag);
aScrollBarBox->EnableInput(bFlag);
// ab hier dynamisch angelegte
diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx
index fba9ede..8d21f9c 100644
--- a/sc/source/ui/view/tabview4.cxx
+++ b/sc/source/ui/view/tabview4.cxx
@@ -382,41 +382,41 @@ void ScTabView::UpdateScrollBars()
nVisXL = aViewData.VisibleCellsX( SC_SPLIT_LEFT );
long nMaxXL = lcl_GetScrollRange( nUsedX, aViewData.GetPosX(SC_SPLIT_LEFT), nVisXL, MAXCOL, 0 );
SetScrollBar( aHScrollLeft, nMaxXL, nVisXL, aViewData.GetPosX( SC_SPLIT_LEFT ), bLayoutRTL );
SetScrollBar( *aHScrollLeft.get(), nMaxXL, nVisXL, aViewData.GetPosX( SC_SPLIT_LEFT ), bLayoutRTL );
nVisYB = aViewData.VisibleCellsY( SC_SPLIT_BOTTOM );
long nMaxYB = lcl_GetScrollRange( nUsedY, aViewData.GetPosY(SC_SPLIT_BOTTOM), nVisYB, MAXROW, nStartY );
SetScrollBar( aVScrollBottom, nMaxYB, nVisYB, aViewData.GetPosY( SC_SPLIT_BOTTOM ) - nStartY, bLayoutRTL );
SetScrollBar( *aVScrollBottom.get(), nMaxYB, nVisYB, aViewData.GetPosY( SC_SPLIT_BOTTOM ) - nStartY, bLayoutRTL );
if (bRight)
{
nVisXR = aViewData.VisibleCellsX( SC_SPLIT_RIGHT );
long nMaxXR = lcl_GetScrollRange( nUsedX, aViewData.GetPosX(SC_SPLIT_RIGHT), nVisXR, MAXCOL, nStartX );
SetScrollBar( aHScrollRight, nMaxXR, nVisXR, aViewData.GetPosX( SC_SPLIT_RIGHT ) - nStartX, bLayoutRTL );
SetScrollBar( *aHScrollRight.get(), nMaxXR, nVisXR, aViewData.GetPosX( SC_SPLIT_RIGHT ) - nStartX, bLayoutRTL );
}
if (bTop)
{
nVisYT = aViewData.VisibleCellsY( SC_SPLIT_TOP );
long nMaxYT = lcl_GetScrollRange( nUsedY, aViewData.GetPosY(SC_SPLIT_TOP), nVisYT, MAXROW, 0 );
SetScrollBar( aVScrollTop, nMaxYT, nVisYT, aViewData.GetPosY( SC_SPLIT_TOP ), bLayoutRTL );
SetScrollBar( *aVScrollTop.get(), nMaxYT, nVisYT, aViewData.GetPosY( SC_SPLIT_TOP ), bLayoutRTL );
}
// Bereich testen
nDiff = lcl_UpdateBar( aHScrollLeft, nVisXL );
nDiff = lcl_UpdateBar( *aHScrollLeft.get(), nVisXL );
if (nDiff) ScrollX( nDiff, SC_SPLIT_LEFT );
if (bRight)
{
nDiff = lcl_UpdateBar( aHScrollRight, nVisXR );
nDiff = lcl_UpdateBar( *aHScrollRight.get(), nVisXR );
if (nDiff) ScrollX( nDiff, SC_SPLIT_RIGHT );
}
nDiff = lcl_UpdateBar( aVScrollBottom, nVisYB );
nDiff = lcl_UpdateBar( *aVScrollBottom.get(), nVisYB );
if (nDiff) ScrollY( nDiff, SC_SPLIT_BOTTOM );
if (bTop)
{
nDiff = lcl_UpdateBar( aVScrollTop, nVisYT );
nDiff = lcl_UpdateBar( *aVScrollTop.get(), nVisYT );
if (nDiff) ScrollY( nDiff, SC_SPLIT_TOP );
}
diff --git a/sc/source/ui/view/tabview5.cxx b/sc/source/ui/view/tabview5.cxx
index 21694cbf..19ff7e61 100644
--- a/sc/source/ui/view/tabview5.cxx
+++ b/sc/source/ui/view/tabview5.cxx
@@ -108,10 +108,10 @@ void ScTabView::Init()
explicitly because the parent frame window is already RTL disabled. */
pTabControl->EnableRTL( AllSettings::GetLayoutRTL() );
InitScrollBar( aHScrollLeft, MAXCOL+1 );
InitScrollBar( aHScrollRight, MAXCOL+1 );
InitScrollBar( aVScrollTop, MAXROW+1 );
InitScrollBar( aVScrollBottom, MAXROW+1 );
InitScrollBar( *aHScrollLeft.get(), MAXCOL+1 );
InitScrollBar( *aHScrollRight.get(), MAXCOL+1 );
InitScrollBar( *aVScrollTop.get(), MAXROW+1 );
InitScrollBar( *aVScrollBottom.get(), MAXROW+1 );
/* #i97900# scrollbars remain in correct RTL mode, needed mirroring etc.
is now handled correctly at the respective places. */